An Akamai CLI package for administering and managing Akamai Terraform configurations
To install this package, use Akamai CLI:
$ akamai install terraform
You may also use this as a stand-alone command by downloading the latest release binary for your system, or by cloning this repository and compiling it yourself.
If you want to compile it from source, you will need Go 1.8 or later, and the Dep package manager installed:
- Fetch the package:
go get github.com/akamai/cli-terraform
- Change to the package directory:
cd $GOPATH/src/github.com/akamai/cli-terraform
- Install dependencies using
dep
:
dep ensure
- Compile the binary:
- Linux/macOS/*nix:
go build -o akamai-terraform
- Windows:
go build -o akamai-terraform.exe
- Move the binary (
akamai-terraform
orakamai-terraform.exe
) in to yourPATH
akamai-terraform [--edgerc] [--section] <command> [sub-command]
Description:
Manage Akamai Terraform configurations and assoc objects. Current support includes Akamai GTM domains and EdgeDNS zones.
Built-In Commands:
create-domain
list
help
akamai-terraform create-domain [domain] [--tfworkpath] [--resources] [--createconfig]
Flags:
--tfworkpath value file path location for placement of created and/or modified artifacts. Default: current directory
--resources Create json formatted resource import list file, <domain>_resources.json. Used as input by createconfig.
--createconfig Create Terraform configuration (<domain>.tf), gtmvars.tf, and import command script (<domain>_import.script) files using resources json
$ akamai terraform create-domain example.akadns.net --resources
Generate Terraform GTM Domain configuration file .tf, vars config file, gtmvars.tf, and import script, _resource_import.script
$ akamai terraform create-domain example.akadns.net --createconfig
- Mapping GTM entity names to TF resource names may require normalization. Invalid TF resource name characters will be replaced by underscores, '_' in config generation.
akamai-terraform create-zone [zone] [--tfworkpath] [--resources] [--createconfig] [--importscript] [--segmentconfig] [--configonly] [--namesonly] [--recordname]
Flags:
--tfworkpath value file path location for placement of created and/or modified artifacts. Default: current directory
--resources Create json formatted resource import list file, <zone>_resources.json. Used as input by createconfig.
--createconfig Create Terraform configuration (<zone>.tf), dnsvars.tf from generated resources file. Saves zone config for import.
--importscript Create import script for generated Terraform configuration script (<zone>_import.script) files
--segmentconfig Directive for createconfig. Group and segment records by name into separate config files.
--configonly Directive for createconfig. Create entire Terraform zone and recordsets configuration (<zone>.tf), dnsvars.tf. Saves zone config for
importscript. Ignores any existing resource json file.
--namesonly Directive for both resource gathering and config generation. All record set types assumed.
--recordname value Used in resources gathering or with configonly to filter recordsets. Multiple recordname flags may be specified.
$ akamai terraform create-zone testprimaryzone.com --resources
$ akamai terraform create-zone testprimaryzone.com --createconfig
$ akamai terraform create-zone testprimaryzone.com --importscript
- The resources directive generates a _resources.json file for consumption by createconfig
- The createconfig directive generates a _zoneconfig.json file for consumption by importscript
- recordname - filters generated resources list by record name(s)
- namesonly - Generates resource file with recordset names only. All associated Types will be represented.
- namesonly - Resources for all associated Types will be generated
- segmentconfig - Generate a modularized configuration.
- configonly. Generate zone configuration directly without json itemization. Scope limited by additional specified flags.
This package is licensed under the Apache 2.0 License. See LICENSE for details.