クイズ: removed・moved・-replace・taint
한국어 원문으로 표시합니다.
운영 중인 리소스를 코드에서만 손 떼고 싶다. 설정에서 그 리소스 블록만 지우면?
- 다음 apply 가 그 리소스를 부순다
- 상태에만 남고 실물은 그대로 유지된다
- 계획 단계에서 주소가 없다며 막힌다
- 상태와 실물이 모두 그대로 남는다
removed 블록으로 상태에서 뺀 뒤의 계획 출력에서 확인해야 할 것은?
- Plan 줄의 destroy 개수가 1 이상인지
- 그 리소스가 다시 add 로 잡히는지
- 상태 파일의 serial 이 줄어들었는지
- 동작이 파괴가 아니고 Plan 줄의 세 숫자가 모두 0 인지
removed 블록이 받는 인자를 확인하는 올바른 방법은?
- 문서 사이트의 기본 페이지를 보면 된다
- 쓰고 있는 판에 직접 넣어 계획을 돌려 본다
- 상태 파일의 version 필드를 본다
- 프로바이더 잠금 파일의 제약을 본다
리소스 이름만 바꾸면서 다시 만들지 않으려면?
- removed 블록으로 옛 이름을 빼고 새 이름으로 다시 만든다
- moved 블록으로 옛 주소에서 새 주소로 옮긴다고 선언한다
- -replace 로 새 이름을 지정해 적용한다
- taint 로 표시한 뒤 이름을 바꿔 적용한다
removed 블록을 남겨 둔 주소에 리소스 블록을 다시 선언하면?
- 계획 단계에서 같은 주소에 두 선언이 있다며 막힌다
- removed 가 우선해 새 리소스가 만들어지지 않는다
- 리소스 선언이 우선하고 removed 는 무시된다
- validate 단계에서 바로 막힌다
taint 와 -replace 의 가장 중요한 차이는?
- taint 는 모듈 안 리소스에 쓸 수 없다
- -replace 는 의존 리소스를 함께 다시 만들지 않는다
- taint 는 상태 파일을 미리 고쳐 놓아 나중에 다른 사람이 그 교체를 적용하게 된다
- -replace 는 계획 없이 바로 적용된다