Closed4

gcloud resource-config を使ってみる

sikeda107sikeda107

Google Cloud リソースを Terraform 形式にエクスポートする

gcloud beta resource-config  |  Google Cloud SDK

gcloud beta resource-config - commands for declarative management of Google Cloud Platform resources

gcloud beta resource-config bulk-export  |  Google Cloud SDK

gcloud beta resource-config bulk-export - export configurations for all assets within the specified project, organization, or folder
--resource-format : Kubernetes Resource Model YAML (krm) or Terraform HCL (terraform)

gcloud beta resource-config list-resource-types  |  Google Cloud SDK

gcloud beta resource-config list-resource-types - list all resources supported by bulk-export

gcloud beta resource-config terraform generate-import  |  Google Cloud SDK

gcloud beta resource-config terraform generate-import - generate Terraform import script for exported resources

sikeda107sikeda107
$ gcloud beta resource-config list-resource-types  --format=flattened | head -n20
---
GVK.Group:          accesscontextmanager.cnrm.cloud.google.com
GVK.Kind:           AccessContextManagerAccessLevel
GVK.Version:        v1beta1
ResourceNameFormat:
SupportsBulkExport: False
SupportsExport:     False
SupportsIAM:        False
---
GVK.Group:          accesscontextmanager.cnrm.cloud.google.com
GVK.Kind:           AccessContextManagerAccessLevelCondition
GVK.Version:        v1alpha1
ResourceNameFormat:
SupportsBulkExport: False
SupportsExport:     False
SupportsIAM:        False
---
GVK.Group:          accesscontextmanager.cnrm.cloud.google.com
GVK.Kind:           AccessContextManagerAccessPolicy
GVK.Version:        v1beta1
$ gcloud beta resource-config list-resource-types  --format=flattened --format='value(GVK.Kind)'
sikeda107sikeda107

resource ファイルを生成

$ gcloud beta resource-config bulk-export --project=$PROJECT_ID \
    --path=$PWD \
    --resource-format=terraform

それを import するコマンドの shell と module 定義ファイルを生成する

$ gcloud beta resource-config terraform generate-import $PWD \
    --output-script-file=import.sh \
    --output-module-file=modules.tf
sikeda107sikeda107

terraform import コマンドが生成されて、import ブロックは生成されない

このスクラップは2日前にクローズされました