Versions in this module Expand all Collapse all v1 v1.0.25 Sep 10, 2019 Changes in this version + const AwsRegistryMaximumImages + const AwsSecurityGroupSourceGroupSelf + const AwsTagNameEnv + const AwsTagNameName + const AwsTagNameProject + const ENV_KEY_ECS_CLUSTER + const ENV_KEY_ECS_SERVICE + const ENV_KEY_ROUTE53_UPDATE_TASK_IPS + const ENV_KEY_ROUTE53_ZONES + const Failed + const Success + var ErrInvalidFunction = errors.New("Invalid function") + var ErrInvalidService = errors.New("Invalid service") + var ErrSecreteNotFound = errors.New("secret not found") + func AwsSecretID(projectName, env, secretName string) string + func BuildDocker(log *log.Logger, req *BuildDockerRequest) error + func BuildImageForTargetEnv(log *log.Logger, cfg *Config, targetImage *ProjectImage, noCache, noPush bool) error + func BuildLambdaForTargetEnv(log *log.Logger, cfg *Config, targetFunc *ProjectFunction, ...) error + func BuildServiceForTargetEnv(log *log.Logger, cfg *Config, targetService *ProjectService, ...) error + func CloudFrontDistribution(awsSession *session.Session, s3Bucket string) (*cloudfront.DistributionSummary, error) + func DeployLambdaToTargetEnv(log *log.Logger, cfg *Config, target *ProjectFunction) error + func DeployServiceToTargetEnv(log *log.Logger, cfg *Config, targetService *ProjectService) error + func EcrPurgeImages(awsCredentials AwsCredentials, ecrRepositoryName string, maxImages int) ([]*ecr.ImageIdentifier, error) + func EcsReadTaskDefinition(serviceDir, targetEnv string) ([]byte, error) + func EcsServiceSetDesiredCount(log *log.Logger, awsSession *session.Session, desiredCount int) (err error) + func EcsServiceTaskInit(log *log.Logger, awsSession *session.Session) error + func EcsServiceTaskTaskShutdown(log *log.Logger, awsSession *session.Session) error + func FindServiceDockerFile(projectRoot, targetService string) (string, error) + func GetTargetEnv(targetEnv, envName string) string + func GitLabCiReleaseTag(env, serviceName string) string + func LambdaReadFuncDefinition(serviceDir, targetEnv string) ([]byte, error) + func LambdaS3KeyFromReleaseImage(releaseImage string) string + func LoadGoModName(goModFile string) (string, error) + func NewDirectoryIterator(bucket, keyPrefix, dir, acl string, metadata map[string]*string) (s3manager.BatchUploadIterator, error) + func ParseTaskDefinitionInput(dat []byte) (*ecs.RegisterTaskDefinitionInput, error) + func RegisterEcsServiceTasksRoute53(log *log.Logger, awsSession *session.Session, ...) error + func S3Url(baseS3Url, baseS3Origin, p string) string + func S3UrlFormatter(awsSession *session.Session, s3Bucket, s3KeyPrefix string, ...) (func(string) string, error) + func SecretManagerGetBinary(awsSession *session.Session, secretID string) ([]byte, error) + func SecretManagerGetString(awsSession *session.Session, secretID string) (string, error) + func SecretManagerPutBinary(awsSession *session.Session, secretID string, value []byte) error + func SecretManagerPutString(awsSession *session.Session, secretID, value string) error + func SyncPublicS3Files(awsSession *session.Session, staticS3Bucket, staticS3Prefix, staticDir string, ...) error + type AwsAcmCertificateResult struct + CertificateArn string + DomainName string + InputHash string + Status string + type AwsAppAutoscalingPolicy struct + MaxCapacity int64 + MinCapacity int64 + PolicyName string + PolicyType string + PrePut func(input *applicationautoscaling.PutScalingPolicyInput) error + PreRegisterTarget func(input *applicationautoscaling.RegisterScalableTargetInput) error + StepScalingPolicyConfiguration *applicationautoscaling.StepScalingPolicyConfiguration + TargetTrackingScalingPolicyConfiguration *applicationautoscaling.TargetTrackingScalingPolicyConfiguration + func (m *AwsAppAutoscalingPolicy) PutInput() (*applicationautoscaling.PutScalingPolicyInput, error) + func (m *AwsAppAutoscalingPolicy) RegisterTargetInput() (*applicationautoscaling.RegisterScalableTargetInput, error) + type AwsAppAutoscalingPolicyResult struct + InputHash string + PolicyARN string + PolicyName string + PolicyType string + type AwsCloudFrontDistributionResult struct + ARN string + DistributionConfig cloudfront.DistributionConfig + DomainName string + Id string + InputHash string + type AwsCloudWatchLogGroup struct + LogGroupName string + PreCreate func(input *cloudwatchlogs.CreateLogGroupInput) error + Tags []Tag + func (m *AwsCloudWatchLogGroup) Input() (*cloudwatchlogs.CreateLogGroupInput, error) + type AwsCloudWatchLogGroupResult struct + InputHash string + LogGroupName string + type AwsCloudwatchEventRule struct + Description string + EventBusName *string + EventPattern string + IamRole *AwsIamRole + Name string + PrePut func(input *cloudwatchevents.PutRuleInput, existing *cloudwatchevents.Rule) error + RoleArn *string + ScheduleExpression string + Tags []Tag + Targets []*AwsCloudwatchEventTarget + func (m *AwsCloudwatchEventRule) Input(existingRule *cloudwatchevents.Rule) (*cloudwatchevents.PutRuleInput, error) + type AwsCloudwatchEventRuleResult struct + Arn string + EventBusName *string + InputHash string + Name string + Targets map[string]*AwsCloudwatchEventTargetResult + func (res *AwsCloudwatchEventRuleResult) GetTarget(targetId string) (*AwsCloudwatchEventTargetResult, error) + type AwsCloudwatchEventTarget struct + Arn string + IamRole *AwsIamRole + Id string + PrePut func(rule *AwsCloudwatchEventRuleResult, target *cloudwatchevents.Target, ...) error + RoleArn *string + func (m *AwsCloudwatchEventTarget) Target(rule *AwsCloudwatchEventRuleResult, existingTarget *cloudwatchevents.Target) (*cloudwatchevents.Target, error) + type AwsCloudwatchEventTargetResult struct + Arn string + Id string + InputHash string + type AwsCredentials struct + AccessKeyID string + Region string + SecretAccessKey string + UseRole bool + func GetAwsCredentialsFromEnv(targetEnv string) (AwsCredentials, error) + func (creds AwsCredentials) Session() *session.Session + type AwsEc2SecurityGroup struct + Description string + GroupName string + IngressRules []*ec2.AuthorizeSecurityGroupIngressInput + PreCreate func(input *ec2.CreateSecurityGroupInput) error + Tags []Tag + func (m *AwsEc2SecurityGroup) Input(vpcId string) (*ec2.CreateSecurityGroupInput, error) + type AwsEc2SecurityGroupResult struct + GroupId string + GroupName string + InputHash string + VpcId *string + type AwsEc2Subnet struct + AvailabilityZone *string + AvailabilityZoneId *string + CidrBlock string + Ipv6CidrBlock *string + PreCreate func(input *ec2.CreateSubnetInput) error + Tags []Tag + func (m *AwsEc2Subnet) Input(vpcId string) (*ec2.CreateSubnetInput, error) + type AwsEc2Vpc struct + AmazonProvidedIpv6CidrBlock *bool + CidrBlock string + IsDefault bool + PreCreate func(input *ec2.CreateVpcInput) error + Subnets []AwsEc2Subnet + Tags []Tag + VpcId string + func (m *AwsEc2Vpc) Input() (*ec2.CreateVpcInput, error) + type AwsEc2VpcResult struct + InputHash string + IsDefault bool + SubnetIds []string + VpcId string + type AwsEcrRepository struct + ImageTagMutability *string + MaxImages int + PreCreate func(input *ecr.CreateRepositoryInput) error + RepositoryName string + Tags []Tag + func (m *AwsEcrRepository) Input() (*ecr.CreateRepositoryInput, error) + type AwsEcrRepositoryResult struct + CreatedAt time.Time + InputHash string + RepositoryArn string + RepositoryName string + RepositoryUri string + type AwsEcsCluster struct + ClusterName string + PreCreate func(input *ecs.CreateClusterInput) error + Tags []Tag + func (m *AwsEcsCluster) Input() (*ecs.CreateClusterInput, error) + type AwsEcsClusterResult struct + ClusterArn string + ClusterName string + InputHash string + Services map[string]*AwsEcsServiceResult + func (m *AwsEcsClusterResult) GetService(serviceName string) (*AwsEcsServiceResult, error) + type AwsEcsService struct + DeploymentMaximumPercent int64 + DeploymentMinimumHealthyPercent int64 + DesiredCount int64 + EnableECSManagedTags bool + ForceRecreate bool + HealthCheckGracePeriodSeconds int64 + LaunchType string + PreCreate func(input *ecs.CreateServiceInput) error + PreUpdate func(input *ecs.UpdateServiceInput) error + ServiceName string + Tags []Tag + func (m *AwsEcsService) CreateInput(cluster *AwsEcsClusterResult, taskDefinition *AwsEcsTaskDefinitionResult, ...) (*ecs.CreateServiceInput, error) + func (m *AwsEcsService) UpdateInput(cluster *AwsEcsClusterResult, taskDefinition *AwsEcsTaskDefinitionResult, ...) (*ecs.UpdateServiceInput, error) + type AwsEcsServiceDeployVariables struct + AlternativeHostnames []string + AwsEc2SecurityGroup *AwsEc2SecurityGroupResult + AwsEc2Vpc *AwsEc2VpcResult + AwsEcsCluster *AwsEcsClusterResult + AwsElbLoadBalancer *AwsElbLoadBalancerResult + AwsLogGroupName string + AwsRegion string + AwsS3BucketNamePrivate string + AwsS3BucketNamePublic string + AwsSdService *AwsSdServiceResult + CacheHost string + DbDisableTLS bool + DbDriver string + DbHost string + DbName string + DbPass string + DbUser string + Env string + HTTPHost string + HTTPSEnabled bool + HTTPSHost string + PrimaryHostname string + ProjectName string + ProjectService *ProjectService + ReleaseImage string + Route53Zones map[string][]string + ServiceBaseUrl string + ServiceName string + StaticFilesCloudfrontEnabled bool + StaticFilesS3Enabled bool + StaticFilesS3Prefix string + func (vars AwsEcsServiceDeployVariables) EncodeRoute53Zones() string + type AwsEcsServiceResult struct + ClusterArn string + DesiredCount int64 + InputHash string + LaunchType string + ServiceArn string + ServiceName string + TaskDefinition *AwsEcsTaskDefinitionResult + type AwsEcsTaskDefinition struct + PreRegister func(input *ecs.RegisterTaskDefinitionInput, vars AwsEcsServiceDeployVariables) error + RegisterInput *ecs.RegisterTaskDefinitionInput + func (m *AwsEcsTaskDefinition) Input(vars AwsEcsServiceDeployVariables) (*ecs.RegisterTaskDefinitionInput, error) + type AwsEcsTaskDefinitionResult struct + InputHash string + type AwsElasticCacheCluster struct + AutoMinorVersionUpgrade *bool + CacheClusterId string + CacheNodeType string + CacheParameterGroupName string + CacheSubnetGroupName string + Engine string + EngineVersion string + NumCacheNodes int64 + ParameterNameValues []AwsElasticCacheParameter + Port int64 + PreCreate func(input *elasticache.CreateCacheClusterInput) error + SnapshotRetentionLimit *int64 + Tags []Tag + func (m *AwsElasticCacheCluster) CacheParameterGroupInput(CacheParameterGroupName string) (*elasticache.ModifyCacheParameterGroupInput, error) + func (m *AwsElasticCacheCluster) Input(securityGroup *AwsEc2SecurityGroupResult) (*elasticache.CreateCacheClusterInput, error) + type AwsElasticCacheClusterEndpoint struct + Address string + Port int64 + type AwsElasticCacheClusterResult struct + CacheClusterId string + CacheNodes []*AwsElasticCacheNode + ConfigurationEndpoint *AwsElasticCacheClusterEndpoint + InputHash string + type AwsElasticCacheNode struct + CacheNodeId string + CreatedAt time.Time + CustomerAvailabilityZone string + Endpoint AwsElasticCacheClusterEndpoint + SourceCacheNodeId *string + type AwsElasticCacheParameter struct + ParameterName string + ParameterValue string + type AwsElbAction struct + Order *int64 + RedirectConfig *AwsElbRedirectActionConfig + TargetGroupArn string + Type string + type AwsElbCertificate struct + CertificateArn string + IsDefault bool + type AwsElbListener struct + Certificates []*AwsElbCertificate + DefaultActions []*AwsElbAction + LoadBalancerArn string + Port int64 + PreCreate func(elb *AwsElbLoadBalancerResult, input *elbv2.CreateListenerInput) error + Protocol string + func (m *AwsElbListener) Input(elb *AwsElbLoadBalancerResult) (*elbv2.CreateListenerInput, error) + type AwsElbListenerResult struct + Certificates []*AwsElbCertificate + DefaultActions []*AwsElbAction + InputHash string + ListenerArn string + LoadBalancerArn string + Port int64 + Protocol string + type AwsElbLoadBalancer struct + EcsTaskDeregistrationDelay int + IpAddressType string + Listeners []*AwsElbListener + Name string + PreCreate func(input *elbv2.CreateLoadBalancerInput) error + Scheme string + Tags []Tag + TargetGroups []*AwsElbTargetGroup + Type string + func (m *AwsElbLoadBalancer) Input(vpc *AwsEc2VpcResult, securityGroup *AwsEc2SecurityGroupResult) (*elbv2.CreateLoadBalancerInput, error) + type AwsElbLoadBalancerResult struct + CanonicalHostedZoneId string + DNSName string + InputHash string + IpAddressType string + Listeners []*AwsElbListenerResult + LoadBalancerArn string + LoadBalancerName string + Scheme string + TargetGroups []*AwsElbTargetGroupResult + type AwsElbRedirectActionConfig struct + Host string + Path string + Port string + Protocol string + Query string + StatusCode string + type AwsElbTargetGroup struct + HealthCheckEnabled bool + HealthCheckIntervalSeconds int64 + HealthCheckPath string + HealthCheckProtocol string + HealthCheckTimeoutSeconds int64 + HealthyThresholdCount int64 + Matcher string + Name string + Port int64 + PreCreate func(input *elbv2.CreateTargetGroupInput) error + Protocol string + TargetType string + UnhealthyThresholdCount int64 + func (m *AwsElbTargetGroup) Input(vpc *AwsEc2VpcResult) (*elbv2.CreateTargetGroupInput, error) + type AwsElbTargetGroupResult struct + HealthCheckEnabled bool + HealthCheckIntervalSeconds int64 + HealthCheckPath string + HealthCheckPort string + HealthCheckProtocol string + HealthCheckTimeoutSeconds int64 + HealthyThresholdCount int64 + InputHash string + LoadBalancerArns []string + Matcher string + Port int64 + Protocol string + TargetGroupArn string + TargetGroupName string + TargetType string + UnhealthyThresholdCount int64 + VpcId string + type AwsIamPolicy struct + Description string + PolicyDocument AwsIamPolicyDocument + PolicyName string + PreCreate func(input *iam.CreatePolicyInput) error + func (m *AwsIamPolicy) Input() (*iam.CreatePolicyInput, error) + type AwsIamPolicyDocument struct + Statement []AwsIamStatementEntry + Version string + type AwsIamPolicyResult struct + Arn string + CreatedAt time.Time + InputHash string + PolicyId string + PolicyName string + type AwsIamRole struct + AssumeRolePolicyDocument string + AttachRolePolicyArns []string + Description string + PreCreate func(input *iam.CreateRoleInput) error + RoleName string + Tags []Tag + func (m *AwsIamRole) Input() (*iam.CreateRoleInput, error) + type AwsIamRoleResult struct + Arn string + CreatedAt time.Time + InputHash string + RoleId string + RoleName string + type AwsIamStatementEntry struct + Action []string + Effect string + Resource interface{} + Sid string + type AwsLambdaFunction struct + AwsCloudwatchEventRule *AwsCloudwatchEventRule + Description string + Environment map[string]string + FunctionName string + Handler string + MemorySize int64 + PreCreate func(input *lambda.CreateFunctionInput) error + PreUpdateCode func(input *lambda.UpdateFunctionCodeInput) error + PreUpdateConfiguration func(input *lambda.UpdateFunctionConfigurationInput, ...) error + Role string + Runtime string + Tags []Tag + Timeout *int64 + UpdateEnvironment func(vars map[string]string) error + func (m *AwsLambdaFunction) CreateInput(codeS3Bucket, codeS3Key string, vpc *AwsEc2VpcResult, ...) (*lambda.CreateFunctionInput, error) + func (m *AwsLambdaFunction) UpdateCodeInput(codeS3Bucket, codeS3Key string) (*lambda.UpdateFunctionCodeInput, error) + func (m *AwsLambdaFunction) UpdateConfigurationInput(vpc *AwsEc2VpcResult, securityGroup *AwsEc2SecurityGroupResult, ...) (*lambda.UpdateFunctionConfigurationInput, error) + type AwsRdsDBCluster struct + AfterCreate func(res *rds.DBCluster, info *DBConnInfo, db *sqlx.DB) error + BackupRetentionPeriod *int64 + CharacterSetName *string + CopyTagsToSnapshot *bool + DBClusterIdentifier string + DatabaseName string + Engine string + EngineMode string + MasterUserPassword string + MasterUsername string + Port int64 + PreCreate func(input *rds.CreateDBClusterInput) error + Tags []Tag + func (m *AwsRdsDBCluster) Input(securityGroup *AwsEc2SecurityGroupResult) (*rds.CreateDBClusterInput, error) + type AwsRdsDBClusterResult struct + CreatedAt time.Time + DBClusterArn string + DBClusterIdentifier string + DBConnInfo *DBConnInfo + DatabaseName string + Endpoint string + Engine string + EngineMode string + EngineVersion string + InputHash string + MasterUsername string + Port int64 + type AwsRdsDBInstance struct + AfterCreate func(res *rds.DBInstance, info *DBConnInfo, db *sqlx.DB) error + AllocatedStorage int64 + AutoMinorVersionUpgrade bool + BackupRetentionPeriod *int64 + CharacterSetName *string + CopyTagsToSnapshot *bool + DBClusterIdentifier *string + DBInstanceClass string + DBInstanceIdentifier string + DBName string + Engine string + EngineVersion *string + MasterUserPassword string + MasterUsername string + Port int64 + PreCreate func(input *rds.CreateDBInstanceInput) error + PubliclyAccessible bool + Tags []Tag + func (m *AwsRdsDBInstance) Input(securityGroup *AwsEc2SecurityGroupResult) (*rds.CreateDBInstanceInput, error) + type AwsRdsDBInstanceResult struct + CreatedAt time.Time + DBClusterIdentifier *string + DBConnInfo *DBConnInfo + DBInstanceArn string + DBInstanceClass string + DBInstanceIdentifier string + DatabaseName string + Endpoint string + Engine string + EngineVersion string + InputHash string + MasterUsername string + Port int64 + type AwsRoute53ZoneResult struct + AssocDomains []string + Entries []string + Name string + ZoneId string + type AwsS3Bucket struct + BucketName string + CORSRules []*s3.CORSRule + CloudFront *AwsS3BucketCloudFront + IsPublic bool + LifecycleRules []*s3.LifecycleRule + LocationConstraint *string + Policy string + PreCreate func(input *s3.CreateBucketInput) error + PublicAccessBlock *s3.PublicAccessBlockConfiguration + TempPrefix string + func (m *AwsS3Bucket) Input() (*s3.CreateBucketInput, error) + type AwsS3BucketCloudFront struct + CachedMethods []string + DistributionConfig *cloudfront.DistributionConfig + OriginPath string + PreCreate func(input *cloudfront.CreateDistributionInput) error + func (m *AwsS3BucketCloudFront) Input() (*cloudfront.CreateDistributionInput, error) + type AwsS3BucketResult struct + BucketName string + CloudFront *AwsCloudFrontDistributionResult + InputHash string + IsPublic bool + Region string + TempPrefix string + type AwsSdPrivateDnsNamespace struct + Description string + Name string + PreCreate func(input *servicediscovery.CreatePrivateDnsNamespaceInput) error + Service *AwsSdService + func (m *AwsSdPrivateDnsNamespace) Input(vpc *AwsEc2VpcResult) (*servicediscovery.CreatePrivateDnsNamespaceInput, error) + type AwsSdPrivateDnsNamespaceResult struct + Arn string + Id string + InputHash string + Name string + Services map[string]*AwsSdServiceResult + Type string + func (res *AwsSdPrivateDnsNamespaceResult) GetService(serviceName string) (*AwsSdServiceResult, error) + type AwsSdService struct + Description string + DnsRecordTTL int64 + HealthCheckFailureThreshold int64 + Name string + PreCreate func(input *servicediscovery.CreateServiceInput) error + func (m *AwsSdService) Input(namespace *AwsSdPrivateDnsNamespaceResult) (*servicediscovery.CreateServiceInput, error) + type AwsSdServiceResult struct + Arn string + Id string + InputHash string + Name string + NamespaceId string + type BuildDockerRequest struct + AwsCredentials AwsCredentials + BaseImageTags map[string]string + BuildArgs map[string]string + BuildDir string + DockerBuildContext string + Dockerfile string + Env string + IsLambda bool + LambdaS3Bucket string + LambdaS3Key string + Name string + NoCache bool + NoPush bool + ProjectName string + ReleaseDockerLoginCmd []string + ReleaseImage string + TargetLayer string + type Config struct + AwsCredentials AwsCredentials + AwsEc2SecurityGroup *AwsEc2SecurityGroup + AwsEc2Vpc *AwsEc2Vpc + AwsEcrRepository *AwsEcrRepository + AwsElasticCacheCluster *AwsElasticCacheCluster + AwsIamPolicy *AwsIamPolicy + AwsRdsDBCluster *AwsRdsDBCluster + AwsRdsDBInstance *AwsRdsDBInstance + AwsS3BucketPrivate *AwsS3Bucket + AwsS3BucketPublic *AwsS3Bucket + AwsS3BucketPublicKeyPrefix string + DBConnInfo *DBConnInfo + Env string + GitlabRunnerEc2SecurityGroupName string + ProjectFunctions []*ProjectFunction + ProjectName string + ProjectRoot string + ProjectServices []*ProjectService + func (cfg *Config) GetDBConnInfo(infra *Infrastructure) (*DBConnInfo, error) + func (cfg *Config) ProjectNameCamel() string + func (cfg *Config) SecretID(secretName string) string + type DBConnInfo struct + Database string + DisableTLS bool + Driver string + Host string + Pass string + User string + func (db DBConnInfo) URL() string + type DirectoryIterator struct + func (di *DirectoryIterator) Err() error + func (di *DirectoryIterator) Next() bool + func (di *DirectoryIterator) UploadObject() s3manager.BatchUploadObject + type Infrastructure struct + AwsAcmCertificate map[string]*AwsAcmCertificateResult + AwsAppAutoscalingPolicy map[string]*AwsAppAutoscalingPolicyResult + AwsCloudWatchLogGroup map[string]*AwsCloudWatchLogGroupResult + AwsCloudwatchEventRule map[string]*AwsCloudwatchEventRuleResult + AwsEc2SecurityGroup map[string]*AwsEc2SecurityGroupResult + AwsEc2Vpc map[string]*AwsEc2VpcResult + AwsEcrRepository map[string]*AwsEcrRepositoryResult + AwsEcsCluster map[string]*AwsEcsClusterResult + AwsEcsService map[string]*AwsEcsServiceResult + AwsElasticCacheCluster map[string]*AwsElasticCacheClusterResult + AwsElbLoadBalancer map[string]*AwsElbLoadBalancerResult + AwsIamPolicy map[string]*AwsIamPolicyResult + AwsIamRole map[string]*AwsIamRoleResult + AwsRdsDBCluster map[string]*AwsRdsDBClusterResult + AwsRdsDBInstance map[string]*AwsRdsDBInstanceResult + AwsRoute53Zone map[string]*AwsRoute53ZoneResult + AwsS3Buckets map[string]*AwsS3BucketResult + AwsSdPrivateDnsNamespace map[string]*AwsSdPrivateDnsNamespaceResult + Env string + ProjectName string + func NewInfrastructure(cfg *Config) (*Infrastructure, error) + func SetupInfrastructure(log *log.Logger, cfg *Config, opts ...SetupOption) (*Infrastructure, error) + func (i *Infrastructure) Save(log *log.Logger) error + func (infra *Infrastructure) AwsSession() *session.Session + func (infra *Infrastructure) Ec2TagResource(resource, name string, tags ...Tag) error + func (infra *Infrastructure) GetAwsAcmCertificate(domainName string) (*AwsAcmCertificateResult, error) + func (infra *Infrastructure) GetAwsAppAutoscalingPolicy(policyName string) (*AwsAppAutoscalingPolicyResult, error) + func (infra *Infrastructure) GetAwsCloudWatchLogGroup(logGroupName string) (*AwsCloudWatchLogGroupResult, error) + func (infra *Infrastructure) GetAwsCloudwatchEventRule(ruleName string) (*AwsCloudwatchEventRuleResult, error) + func (infra *Infrastructure) GetAwsEc2DefaultVpc() (*AwsEc2VpcResult, error) + func (infra *Infrastructure) GetAwsEc2SecurityGroup(groupName string) (*AwsEc2SecurityGroupResult, error) + func (infra *Infrastructure) GetAwsEc2Vpc(cidrBlock string) (*AwsEc2VpcResult, error) + func (infra *Infrastructure) GetAwsEcrRepository(repositoryName string) (*AwsEcrRepositoryResult, error) + func (infra *Infrastructure) GetAwsEcsCluster(clusterName string) (*AwsEcsClusterResult, error) + func (infra *Infrastructure) GetAwsElasticCacheCluster(cacheClusterId string) (*AwsElasticCacheClusterResult, error) + func (infra *Infrastructure) GetAwsElbLoadBalancer(loadBalancerName string) (*AwsElbLoadBalancerResult, error) + func (infra *Infrastructure) GetAwsIamPolicy(policyName string) (*AwsIamPolicyResult, error) + func (infra *Infrastructure) GetAwsIamRole(roleName string) (*AwsIamRoleResult, error) + func (infra *Infrastructure) GetAwsRdsDBCluster(dBClusterIdentifier string) (*AwsRdsDBClusterResult, error) + func (infra *Infrastructure) GetAwsRdsDBInstance(dBInstanceIdentifier string) (*AwsRdsDBInstanceResult, error) + func (infra *Infrastructure) GetAwsS3Bucket(bucketName string) (*AwsS3BucketResult, error) + func (infra *Infrastructure) GetAwsSdPrivateDnsNamespace(namespace string) (*AwsSdPrivateDnsNamespaceResult, error) + func (infra *Infrastructure) GetDBConnInfo(name string) (*DBConnInfo, error) + func (infra *Infrastructure) GetRoute53ZoneByDomain(domainName string) (*AwsRoute53ZoneResult, error) + func (infra *Infrastructure) GetRoute53ZoneById(zoneId string) (*AwsRoute53ZoneResult, error) + func (infra *Infrastructure) ProjectNameCamel() string + func (infra *Infrastructure) SaveDbConnInfo(log *log.Logger, name string, dBConnInfo *DBConnInfo) error + func (infra *Infrastructure) SecretID(secretName string) string + type Metadata struct + Key string + Value string + type ModuleDetails struct + GoModFile string + GoModName string + ProjectName string + ProjectRoot string + func LoadModuleDetails(workDir string) (ModuleDetails, error) + type ProjectFunction struct + AwsCloudwatchEventRules []*AwsCloudwatchEventRule + AwsIamPolicy *AwsIamPolicy + AwsIamRole *AwsIamRole + AwsLambdaFunction *AwsLambdaFunction + BaseImageTags map[string]string + CodeDir string + CodeS3Bucket string + CodeS3Key string + CustomVariables map[string]interface{} + DockerBuildArgs map[string]string + DockerBuildContext string + DockerBuildDir string + DockerBuildTargetLayer string + Dockerfile string + EnableVPC bool + Name string + ReleaseTag string + type ProjectImage struct + BaseImageTags map[string]string + CodeDir string + DockerBuildArgs map[string]string + DockerBuildContext string + DockerBuildDir string + DockerBuildTargetLayer string + Dockerfile string + Name string + ReleaseTag string + type ProjectService struct + AwsAppAutoscalingPolicy *AwsAppAutoscalingPolicy + AwsCloudWatchLogGroup *AwsCloudWatchLogGroup + AwsEcsCluster *AwsEcsCluster + AwsEcsExecutionRole *AwsIamRole + AwsEcsService *AwsEcsService + AwsEcsTaskDefinition *AwsEcsTaskDefinition + AwsEcsTaskRole *AwsIamRole + AwsElbLoadBalancer *AwsElbLoadBalancer + AwsSdPrivateDnsNamespace *AwsSdPrivateDnsNamespace + BaseImageTags map[string]string + BuildOnly bool + CodeDir string + CustomVariables map[string]interface{} + DockerBuildArgs map[string]string + DockerBuildContext string + DockerBuildDir string + DockerBuildTargetLayer string + Dockerfile string + EnableHTTPS bool + Name string + ReleaseImage string + ReleaseTag string + ServiceHostNames []string + ServiceHostPrimary string + StaticFilesDir string + StaticFilesS3Prefix string + type SecretManagerAutocertCache struct + func NewSecretManagerAutocertCache(log *log.Logger, awsSession *session.Session, secretPrefix string, ...) (*SecretManagerAutocertCache, error) + func (c *SecretManagerAutocertCache) Delete(ctx context.Context, key string) error + func (c *SecretManagerAutocertCache) Get(ctx context.Context, key string) ([]byte, error) + func (c *SecretManagerAutocertCache) Put(ctx context.Context, key string, data []byte) error + type SetupOption int + const SetupOptionBuildEnv + const SetupOptionSkipCache + type SetupOptions []SetupOption + type Tag struct + Key string + Value string