terraform state replace-provider 커맨드
terraform state replace-provider 커맨드
terraform state replace-provider 커맨드는 Terraform 상태 안의 리소스에 대한 프로바이더를 교체해요. "from" 프로바이더를 사용하는 모든 리소스를 지정된 "to" 프로바이더로 갱신해요.
출처: 문서
본문
사용법 (Usage)
사용법: terraform state replace-provider [options] FROM_PROVIDER_FQN TO_PROVIDER_FQN
이 커맨드는 "from" 프로바이더를 사용하는 모든 리소스를 지정된 "to" 프로바이더로 설정해요. 이렇게 하면 현재 상태에 리소스를 가진 프로바이더의 소스를 변경할 수 있어요.
이 커맨드는 변경사항을 저장하기 전에 상태의 백업 복사본을 출력해요. 백업은 비활성화할 수 없어요. 이 커맨드의 파괴적 특성 때문에 백업이 필수예요.
이 커맨드는 다음 옵션도 받아요:
-
-auto-approve- 대화형 승인을 건너뛰어요. -
-var 'NAME=VALUE'- 설정의 루트 모듈에 선언된 단일 입력 변수에 값을 설정해요. 여러 변수를 설정하려면 이 옵션을 여러 번 사용하세요. 자세한 내용은 명령줄의 입력 변수를 참고하세요. -
-var-file=FILENAME- 설정의 루트 모듈에 선언된 많은 입력 변수에.tfvars파일의 정의를 사용해 값을 설정해요. 여러 파일의 값을 포함하려면 이 옵션을 여러 번 사용하세요. 루트 모듈의 입력 변수에 값을 설정하는 방법은-var와-var-file옵션 외에도 여러 가지가 있어요. 자세한 내용은 입력 변수에 값 할당을 참고하세요. -
-lock=false- 작업 중 상태 잠금을 유지하지 않아요. 다른 사람이 같은 워크스페이스에 대해 동시에 커맨드를 실행할 수 있다면 위험해요. -
-lock-timeout=0s- 상태 잠금을 재시도하는 기간.
HCP Terraform CLI 통합 또는 remote 백엔드를 사용하는 설정에서만 terraform state replace-provider는 -ignore-remote-version 옵션도 받아요. 로컬 상태를 사용하는 설정에서만 terraform state replace-provider는 레거시 옵션인 -state, -state-out, -backup도 받아요.
예제 (Example)
아래 예제는 hashicorp/aws 프로바이더를 acme의 포크로 교체해요. 이 포크는 registry.acme.corp의 프라이빗 레지스트리에 호스팅돼 있어요:
$ terraform state replace-provider hashicorp/aws registry.acme.corp/acme/aws