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
MetricsEnabled bool
Namespace string
NetworkCIDR string
PrivateCIDR string
Project string
PublicCIDR string
PublicKey string
RDSDefaultDatabaseName string
RDSInstanceClass string
RDSPassword string
RDSUsername string
RDSDiskEncryption bool
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"`
SelfUpdateSecretAccessKey MetadataStringValue `json:"self_update_user_secret_access_key" valid:"required"`
SelfUpdateUserAccessKeyID MetadataStringValue `json:"self_update_user_access_key_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
MetricsEnabled bool
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 {
ATCPublicIP MetadataStringValue `json:"atc_public_ip" valid:"required"`
BoshDBAddress MetadataStringValue `json:"bosh_db_address" valid:"required"`
DBName MetadataStringValue `json:"db_name" valid:"required"`
DirectorAccountCreds MetadataStringValue `json:"director_account_creds" valid:"required"`
DirectorPublicIP MetadataStringValue `json:"director_public_ip" valid:"required"`
DirectorSecurityGroupID MetadataStringValue `json:"director_firewall_name" valid:"required"`
NatGatewayIP MetadataStringValue `json:"nat_gateway_ip" valid:"required"`
Network MetadataStringValue `json:"network" valid:"required"`
PrivateSubnetworkInternalGw MetadataStringValue `json:"private_subnetwork_internal_gw" valid:"required"`
PrivateSubnetworkName MetadataStringValue `json:"private_subnetwork_name" valid:"required"`
PublicSubnetworkInternalGw MetadataStringValue `json:"public_subnetwork_internal_gw" valid:"required"`
PublicSubnetworkName MetadataStringValue `json:"public_subnetwork_name" valid:"required"`
SelfUpdateAccountCreds MetadataStringValue `json:"self_update_account_creds" valid:"required"`
SQLServerCert MetadataStringValue `json:"server_ca_cert" 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 arbitrary element of Options for New
func DownloadTerraform ¶
DownloadTerraform returns the downloaded CLI path Option