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

더 알아보기 (Learn more)