Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AWSInputVars ¶
type AWSInputVars struct { AllowIPs string AvailabilityZone string ConfigBucket string Deployment string HostedZoneID string HostedZoneRecordPrefix string Namespace string NetworkCIDR string PrivateCIDR string Project string PublicCIDR string PublicKey string RDSDefaultDatabaseName string RDSInstanceClass string RDSPassword string RDSUsername string RDS1CIDR string RDS2CIDR string Region string SourceAccessIP string TFStatePath string }
InputVars holds all the parameters AWS IAAS needs
func (*AWSInputVars) ConfigureTerraform ¶
func (v *AWSInputVars) ConfigureTerraform(terraformContents string) (string, error)
ConfigureTerraform interpolates terraform contents and returns terraform config
type AWSOutputs ¶
type AWSOutputs struct { ATCPublicIP MetadataStringValue `json:"atc_public_ip" valid:"required"` ATCSecurityGroupID MetadataStringValue `json:"atc_security_group_id" valid:"required"` BlobstoreBucket MetadataStringValue `json:"blobstore_bucket" valid:"required"` BlobstoreSecretAccessKey MetadataStringValue `json:"blobstore_user_secret_access_key" valid:"required"` BlobstoreUserAccessKeyID MetadataStringValue `json:"blobstore_user_access_key_id" valid:"required"` BoshDBAddress MetadataStringValue `json:"bosh_db_address" valid:"required"` BoshDBPort MetadataStringValue `json:"bosh_db_port" valid:"required"` BoshSecretAccessKey MetadataStringValue `json:"bosh_user_secret_access_key" valid:"required"` BoshUserAccessKeyID MetadataStringValue `json:"bosh_user_access_key_id" valid:"required"` DirectorKeyPair MetadataStringValue `json:"director_key_pair" valid:"required"` DirectorPublicIP MetadataStringValue `json:"director_public_ip" valid:"required"` DirectorSecurityGroupID MetadataStringValue `json:"director_security_group_id" valid:"required"` NatGatewayIP MetadataStringValue `json:"nat_gateway_ip" valid:"required"` PrivateSubnetID MetadataStringValue `json:"private_subnet_id" valid:"required"` PublicSubnetID MetadataStringValue `json:"public_subnet_id" valid:"required"` SourceAccessIP MetadataStringValue `json:"source_access_ip"` VMsSecurityGroupID MetadataStringValue `json:"vms_security_group_id" valid:"required"` VPCID MetadataStringValue `json:"vpc_id" valid:"required"` }
Metadata represents output from terraform on AWS or GCP
func (*AWSOutputs) AssertValid ¶
func (outputs *AWSOutputs) AssertValid() error
AssertValid returns an error if the struct contains any missing fields
type CLI ¶
type CLI struct { Path string // contains filtered or unexported fields }
CLI struct holds the abstraction of execCmd
func (*CLI) BuildOutput ¶
BuildOutput builds the terraform output
type CLIInterface ¶
type CLIInterface interface { Apply(InputVars) error Destroy(InputVars) error BuildOutput(InputVars) (Outputs, error) }
CLIInterface is the abstraction of execCmd
type GCPInputVars ¶
type GCPInputVars struct { AllowIPs string ConfigBucket string DBName string DBPassword string DBTier string DBUsername string Deployment string DNSManagedZoneName string DNSRecordSetPrefix string ExternalIP string GCPCredentialsJSON string Namespace string PrivateCIDR string Project string PublicCIDR string Region string Tags string Zone string }
InputVars holds all the parameters GCP IAAS needs
func (*GCPInputVars) ConfigureTerraform ¶
func (v *GCPInputVars) ConfigureTerraform(terraformContents string) (string, error)
ConfigureTerraform interpolates terraform contents and returns terraform config
type GCPOutputs ¶
type GCPOutputs struct { Network MetadataStringValue `json:"network" valid:"required"` PrivateSubnetworkName MetadataStringValue `json:"private_subnetwork_name" valid:"required"` PublicSubnetworkName MetadataStringValue `json:"public_subnetwork_name" valid:"required"` PrivateSubnetworkInternalGw MetadataStringValue `json:"private_subnetwork_internal_gw" valid:"required"` PublicSubnetworkInternalGw MetadataStringValue `json:"public_subnetwork_internal_gw" valid:"required"` ATCPublicIP MetadataStringValue `json:"atc_public_ip" valid:"required"` DirectorAccountCreds MetadataStringValue `json:"director_account_creds" valid:"required"` DirectorPublicIP MetadataStringValue `json:"director_public_ip" valid:"required"` BoshDBAddress MetadataStringValue `json:"bosh_db_address" valid:"required"` DBName MetadataStringValue `json:"db_name" valid:"required"` NatGatewayIP MetadataStringValue `json:"nat_gateway_ip" valid:"required"` SQLServerCert MetadataStringValue `json:"server_ca_cert" valid:"required"` DirectorSecurityGroupID MetadataStringValue `json:"director_firewall_name" valid:"required"` }
Metadata represents output from terraform on GCP or GCP
func (*GCPOutputs) AssertValid ¶
func (outputs *GCPOutputs) AssertValid() error
AssertValid returns an error if the struct contains any missing fields
type MetadataStringValue ¶
type MetadataStringValue struct {
Value string `json:"value"`
}
MetadataStringValue is a terraform output string variable
type NullInputVars ¶
type NullInputVars struct{}
func (*NullInputVars) Build ¶
func (n *NullInputVars) Build(map[string]interface{}) error
func (*NullInputVars) ConfigureTerraform ¶
func (n *NullInputVars) ConfigureTerraform(string) (string, error)
type NullOutputs ¶
type NullOutputs struct{}
func (*NullOutputs) AssertValid ¶
func (n *NullOutputs) AssertValid() error
type Option ¶
Option defines the arbitary element of Options for New
func DownloadTerraform ¶
func DownloadTerraform() Option
DownloadTerraform returns the dowloaded CLI path Option