Closed7

terraformer を試す

sikeda107sikeda107
brew install terraformer
$ terraformer help
Usage:
   [command]

Available Commands:
  help        Help about any command
  import      Import current state to Terraform configuration
  plan        Plan to import current state to Terraform configuration
  version     Print the version number of Terraformer

Flags:
  -h, --help   help for this command

Use " [command] --help" for more information about a command.

$ terraformer version
Terraformer v0.8.30

sikeda107sikeda107
$ terraformer import -h
Import current state to Terraform configuration

Usage:
   import [command]

Available Commands:
  alicloud      Import current State to terraform configuration from alicloud
  auth0         Import current state to Terraform configuration from Auth0
  aws           Import current state to Terraform configuration from AWS
  azure         Import current state to Terraform configuration from Azure
  azuread       Import current state to Terraform configuration from Azure Active Directory
  azuredevops   Import current state to Terraform configuration from Azure DevOps
  cloudflare    Import current state to Terraform configuration from Cloudflare
  commercetools Import current state to Terraform configuration from Commercetools
  datadog       Import current state to Terraform configuration from Datadog
  digitalocean  Import current state to Terraform configuration from DigitalOcean
  fastly        Import current state to Terraform configuration from Fastly
  github        Import current state to Terraform configuration from GitHub
  gitlab        Import current state to Terraform configuration from GitLab
  gmailfilter   Import current state to Terraform configuration from Gmail
  google        Import current state to Terraform configuration from Google Cloud
  grafana       Import current state to Terraform configuration from Grafana
  heroku        Import current state to Terraform configuration from Heroku
  honeycombio   Import current state to Terraform configuration from Honeycomb.io
  ibm           Import current state to Terraform configuration from ibm
  ionoscloud    Import current state to Terraform configuration from IONOS Cloud
  keycloak      Import current state to Terraform configuration from Keycloak
  kubernetes    Import current state to Terraform configuration from Kubernetes
  launchdarkly  Import current state to Terraform configuration from LaunchDarkly
  linode        Import current state to Terraform configuration from Linode
  logzio        Import current state to Terraform configuration from Logz.io
  mackerel      Import current state to Terraform configuration from Mackerel
  metal         Import current state to Terraform configuration from Equinix Metal
  mikrotik      Import current state to Terraform configuration from RouterOS
  myrasec       Import current state to Terraform configuration from Myra Security
  newrelic      Import current state to Terraform configuration from New Relic
  ns1           Import current state to Terraform configuration from NS1
  octopusdeploy Import current state to Terraform configuration from Octopus Deploy
  okta          Import current State to terraform configuration from okta
  opal          Import current state to Terraform configuration from opal.dev
  openstack     Import current state to Terraform configuration from OpenStack
  opsgenie      Import current state to Terraform configuration from Opsgenie
  pagerduty     Import current state to Terraform configuration from PagerDuty
  panos         Import current state to Terraform configuration from a PAN-OS
  plan          Import planned state to Terraform configuration
  rabbitmq      Import current state to Terraform configuration from RabbitMQ
  tencentcloud  Import current state to Terraform configuration from Tencent Cloud
  vault         Import current state to Terraform configuration from Vault
  vultr         Import current state to Terraform configuration from Vultr
  xenorchestra  Import current state to Terraform configuration from Xen Orchestra
  yandex        Import current state to Terraform configuration from Yandex Cloud

Flags:
  -h, --help   help for import

Additional help topics:
   import no-sort      Don't sort resources

Use " import [command] --help" for more information about a command.
sikeda107sikeda107
$ terraformer import google -h
Import current state to Terraform configuration from Google Cloud

Usage:
   import google [flags]
   import google [command]

Available Commands:
  list        List supported resources for google provider

Flags:
  -b, --bucket string          gs://terraform-state
  -C, --compact
  -c, --connect                 (default true)
  -x, --excludes strings       firewalls,networks
  -f, --filter strings         compute_firewall=id1:id2:id4
  -h, --help                   help for google
  -S, --no-sort                set to disable sorting of HCL
  -O, --output string          output format hcl or json (default "hcl")
  -o, --path-output string      (default "generated")
  -p, --path-pattern string    {output}/{provider}/ (default "{output}/{provider}/{service}/")
      --projects strings
      --provider-type string   beta
  -z, --regions strings        europe-west1, (default [global])
  -r, --resources strings      firewalls,networks
  -n, --retry-number int       number of retries to perform when refresh fails (default 5)
  -m, --retry-sleep-ms int     time in ms to sleep between retries (default 300)
  -s, --state string           local or bucket (default "local")
  -v, --verbose

Use " import google [command] --help" for more information about a command.

sikeda107sikeda107
$ terraformer import google list -h
List supported resources for google provider

Usage:
   import google list [flags]

Flags:
  -h, --help   help for list

Global Flags:
  -b, --bucket string          gs://terraform-state
  -C, --compact
  -c, --connect                 (default true)
  -x, --excludes strings       firewalls,networks
  -f, --filter strings         compute_firewall=id1:id2:id4
  -S, --no-sort                set to disable sorting of HCL
  -O, --output string          output format hcl or json (default "hcl")
  -o, --path-output string      (default "generated")
  -p, --path-pattern string    {output}/{provider}/ (default "{output}/{provider}/{service}/")
      --projects strings
      --provider-type string   beta
  -z, --regions strings        europe-west1, (default [global])
  -r, --resources strings      firewalls,networks
  -n, --retry-number int       number of retries to perform when refresh fails (default 5)
  -m, --retry-sleep-ms int     time in ms to sleep between retries (default 300)
  -s, --state string           local or bucket (default "local")
  -v, --verbose

sikeda107sikeda107
$ terraformer import google list --projects=$PROJECT_ID
addresses
autoscalers
backendBuckets
backendServices
bigQuery
cloudFunctions
cloudbuild
cloudsql
cloudtasks
dataProc
disks
dns
externalVpnGateways
firewall
forwardingRules
gcs
gke
globalAddresses
globalForwardingRules
healthChecks
httpHealthChecks
httpsHealthChecks
iam
images
instanceGroupManagers
instanceGroups
instanceTemplates
instances
interconnectAttachments
kms
logging
memoryStore
monitoring
networkEndpointGroups
networks
nodeGroups
nodeTemplates
packetMirrorings
project
pubsub
regionAutoscalers
regionBackendServices
regionDisks
regionHealthChecks
regionInstanceGroupManagers
regionInstanceGroups
regionSslCertificates
regionTargetHttpProxies
regionTargetHttpsProxies
regionUrlMaps
reservations
resourcePolicies
routers
routes
schedulerJobs
securityPolicies
sslCertificates
sslPolicies
subnetworks
targetHttpProxies
targetHttpsProxies
targetInstances
targetPools
targetSslProxies
targetTcpProxies
targetVpnGateways
urlMaps
vpnTunnels

sikeda107sikeda107

[小ネタ] Terraformer で /.terraform.d/plugins/darwin_amd64: no such file or directory が出力されてハマった話 | DevelopersIO

$ echo 'provider "google" {}' > provider.tf
$ terraform init

$ terraformer import google --resources=gcs --projects=$PROJECT_ID
tree .
.
├── generated
│   └── google
│       └── YOUR_PROJECT_ID
│           └── gcs
│               └── global
│                   ├── provider.tf
│                   └── terraform.tfstate
└── provider.tf
sikeda107sikeda107
$ terraformer import google --resources=iam --projects=$PROJECT_ID


├── generated
│   └── google
│       └── YOUR_PROJECT_ID
│           └── iam
│               └── global
│                   ├── outputs.tf
│                   ├── project_iam_member.tf
│                   ├── provider.tf
│                   ├── service_account.tf
│                   └── terraform.tfstate
└── provider.tf

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