// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. package codedeploy import ( "time" "github.com/aws/aws-sdk-go-v2/aws" "github.com/aws/aws-sdk-go-v2/internal/awsutil" ) var _ aws.Config var _ = awsutil.Prettify // Information about an alarm. type Alarm struct { _ struct{} `type:"structure"` // The name of the alarm. Maximum length is 255 characters. Each alarm name // can be used only once in a list of alarms. Name *string `locationName:"name" type:"string"` } // String returns the string representation func (s Alarm) String() string { return awsutil.Prettify(s) } // Information about alarms associated with the deployment group. type AlarmConfiguration struct { _ struct{} `type:"structure"` // A list of alarms configured for the deployment group. A maximum of 10 alarms // can be added to a deployment group. Alarms []Alarm `locationName:"alarms" type:"list"` // Indicates whether the alarm configuration is enabled. Enabled *bool `locationName:"enabled" type:"boolean"` // Indicates whether a deployment should continue if information about the current // state of alarms cannot be retrieved from Amazon CloudWatch. The default value // is false. // // * true: The deployment proceeds even if alarm status information can't // be retrieved from Amazon CloudWatch. // // * false: The deployment stops if alarm status information can't be retrieved // from Amazon CloudWatch. IgnorePollAlarmFailure *bool `locationName:"ignorePollAlarmFailure" type:"boolean"` } // String returns the string representation func (s AlarmConfiguration) String() string { return awsutil.Prettify(s) } // A revision for an AWS Lambda or Amazon ECS deployment that is a YAML-formatted // or JSON-formatted string. For AWS Lambda and Amazon ECS deployments, the // revision is the same as the AppSpec file. This method replaces the deprecated // RawString data type. type AppSpecContent struct { _ struct{} `type:"structure"` // The YAML-formatted or JSON-formatted revision string. // // For an AWS Lambda deployment, the content includes a Lambda function name, // the alias for its original version, and the alias for its replacement version. // The deployment shifts traffic from the original version of the Lambda function // to the replacement version. // // For an Amazon ECS deployment, the content includes the task name, information // about the load balancer that serves traffic to the container, and more. // // For both types of deployments, the content can specify Lambda functions that // run at specified hooks, such as BeforeInstall, during a deployment. Content *string `locationName:"content" type:"string"` // The SHA256 hash value of the revision content. Sha256 *string `locationName:"sha256" type:"string"` } // String returns the string representation func (s AppSpecContent) String() string { return awsutil.Prettify(s) } // Information about an application. type ApplicationInfo struct { _ struct{} `type:"structure"` // The application ID. ApplicationId *string `locationName:"applicationId" type:"string"` // The application name. ApplicationName *string `locationName:"applicationName" min:"1" type:"string"` // The destination platform type for deployment of the application (Lambda or // Server). ComputePlatform ComputePlatform `locationName:"computePlatform" type:"string" enum:"true"` // The time at which the application was created. CreateTime *time.Time `locationName:"createTime" type:"timestamp"` // The name for a connection to a GitHub account. GitHubAccountName *string `locationName:"gitHubAccountName" type:"string"` // True if the user has authenticated with GitHub for the specified application. // Otherwise, false. LinkedToGitHub *bool `locationName:"linkedToGitHub" type:"boolean"` } // String returns the string representation func (s ApplicationInfo) String() string { return awsutil.Prettify(s) } // Information about a configuration for automatically rolling back to a previous // version of an application revision when a deployment is not completed successfully. type AutoRollbackConfiguration struct { _ struct{} `type:"structure"` // Indicates whether a defined automatic rollback configuration is currently // enabled. Enabled *bool `locationName:"enabled" type:"boolean"` // The event type or types that trigger a rollback. Events []AutoRollbackEvent `locationName:"events" type:"list"` } // String returns the string representation func (s AutoRollbackConfiguration) String() string { return awsutil.Prettify(s) } // Information about an Auto Scaling group. type AutoScalingGroup struct { _ struct{} `type:"structure"` // An Auto Scaling lifecycle event hook name. Hook *string `locationName:"hook" type:"string"` // The Auto Scaling group name. Name *string `locationName:"name" type:"string"` } // String returns the string representation func (s AutoScalingGroup) String() string { return awsutil.Prettify(s) } // Information about blue/green deployment options for a deployment group. type BlueGreenDeploymentConfiguration struct { _ struct{} `type:"structure"` // Information about the action to take when newly provisioned instances are // ready to receive traffic in a blue/green deployment. DeploymentReadyOption *DeploymentReadyOption `locationName:"deploymentReadyOption" type:"structure"` // Information about how instances are provisioned for a replacement environment // in a blue/green deployment. GreenFleetProvisioningOption *GreenFleetProvisioningOption `locationName:"greenFleetProvisioningOption" type:"structure"` // Information about whether to terminate instances in the original fleet during // a blue/green deployment. TerminateBlueInstancesOnDeploymentSuccess *BlueInstanceTerminationOption `locationName:"terminateBlueInstancesOnDeploymentSuccess" type:"structure"` } // String returns the string representation func (s BlueGreenDeploymentConfiguration) String() string { return awsutil.Prettify(s) } // Information about whether instances in the original environment are terminated // when a blue/green deployment is successful. BlueInstanceTerminationOption // does not apply to Lambda deployments. type BlueInstanceTerminationOption struct { _ struct{} `type:"structure"` // The action to take on instances in the original environment after a successful // blue/green deployment. // // * TERMINATE: Instances are terminated after a specified wait time. // // * KEEP_ALIVE: Instances are left running after they are deregistered from // the load balancer and removed from the deployment group. Action InstanceAction `locationName:"action" type:"string" enum:"true"` // For an Amazon EC2 deployment, the number of minutes to wait after a successful // blue/green deployment before terminating instances from the original environment. // // For an Amazon ECS deployment, the number of minutes before deleting the original // (blue) task set. During an Amazon ECS deployment, CodeDeploy shifts traffic // from the original (blue) task set to a replacement (green) task set. // // The maximum setting is 2880 minutes (2 days). TerminationWaitTimeInMinutes *int64 `locationName:"terminationWaitTimeInMinutes" type:"integer"` } // String returns the string representation func (s BlueInstanceTerminationOption) String() string { return awsutil.Prettify(s) } // Information about the target to be updated by an AWS CloudFormation blue/green // deployment. This target type is used for all deployments initiated by a CloudFormation // stack update. type CloudFormationTarget struct { _ struct{} `type:"structure"` // The unique ID of an AWS CloudFormation blue/green deployment. DeploymentId *string `locationName:"deploymentId" type:"string"` // The date and time when the target application was updated by an AWS CloudFormation // blue/green deployment. LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"` // The lifecycle events of the AWS CloudFormation blue/green deployment to this // target application. LifecycleEvents []LifecycleEvent `locationName:"lifecycleEvents" type:"list"` // The resource type for the AWS CloudFormation blue/green deployment. ResourceType *string `locationName:"resourceType" type:"string"` // The status of an AWS CloudFormation blue/green deployment's target application. Status TargetStatus `locationName:"status" type:"string" enum:"true"` // The unique ID of a deployment target that has a type of CloudFormationTarget. TargetId *string `locationName:"targetId" type:"string"` // The percentage of production traffic that the target version of an AWS CloudFormation // blue/green deployment receives. TargetVersionWeight *float64 `locationName:"targetVersionWeight" type:"double"` } // String returns the string representation func (s CloudFormationTarget) String() string { return awsutil.Prettify(s) } // Information about a deployment configuration. type DeploymentConfigInfo struct { _ struct{} `type:"structure"` // The destination platform type for the deployment (Lambda, Server, or ECS). ComputePlatform ComputePlatform `locationName:"computePlatform" type:"string" enum:"true"` // The time at which the deployment configuration was created. CreateTime *time.Time `locationName:"createTime" type:"timestamp"` // The deployment configuration ID. DeploymentConfigId *string `locationName:"deploymentConfigId" type:"string"` // The deployment configuration name. DeploymentConfigName *string `locationName:"deploymentConfigName" min:"1" type:"string"` // Information about the number or percentage of minimum healthy instance. MinimumHealthyHosts *MinimumHealthyHosts `locationName:"minimumHealthyHosts" type:"structure"` // The configuration that specifies how the deployment traffic is routed. Used // for deployments with a Lambda or ECS compute platform only. TrafficRoutingConfig *TrafficRoutingConfig `locationName:"trafficRoutingConfig" type:"structure"` } // String returns the string representation func (s DeploymentConfigInfo) String() string { return awsutil.Prettify(s) } // Information about a deployment group. type DeploymentGroupInfo struct { _ struct{} `type:"structure"` // A list of alarms associated with the deployment group. AlarmConfiguration *AlarmConfiguration `locationName:"alarmConfiguration" type:"structure"` // The application name. ApplicationName *string `locationName:"applicationName" min:"1" type:"string"` // Information about the automatic rollback configuration associated with the // deployment group. AutoRollbackConfiguration *AutoRollbackConfiguration `locationName:"autoRollbackConfiguration" type:"structure"` // A list of associated Auto Scaling groups. AutoScalingGroups []AutoScalingGroup `locationName:"autoScalingGroups" type:"list"` // Information about blue/green deployment options for a deployment group. BlueGreenDeploymentConfiguration *BlueGreenDeploymentConfiguration `locationName:"blueGreenDeploymentConfiguration" type:"structure"` // The destination platform type for the deployment (Lambda, Server, or ECS). ComputePlatform ComputePlatform `locationName:"computePlatform" type:"string" enum:"true"` // The deployment configuration name. DeploymentConfigName *string `locationName:"deploymentConfigName" min:"1" type:"string"` // The deployment group ID. DeploymentGroupId *string `locationName:"deploymentGroupId" type:"string"` // The deployment group name. DeploymentGroupName *string `locationName:"deploymentGroupName" min:"1" type:"string"` // Information about the type of deployment, either in-place or blue/green, // you want to run and whether to route deployment traffic behind a load balancer. DeploymentStyle *DeploymentStyle `locationName:"deploymentStyle" type:"structure"` // The Amazon EC2 tags on which to filter. The deployment group includes EC2 // instances with any of the specified tags. Ec2TagFilters []EC2TagFilter `locationName:"ec2TagFilters" type:"list"` // Information about groups of tags applied to an EC2 instance. The deployment // group includes only EC2 instances identified by all of the tag groups. Cannot // be used in the same call as ec2TagFilters. Ec2TagSet *EC2TagSet `locationName:"ec2TagSet" type:"structure"` // The target Amazon ECS services in the deployment group. This applies only // to deployment groups that use the Amazon ECS compute platform. A target Amazon // ECS service is specified as an Amazon ECS cluster and service name pair using // the format :. EcsServices []ECSService `locationName:"ecsServices" type:"list"` // Information about the most recent attempted deployment to the deployment // group. LastAttemptedDeployment *LastDeploymentInfo `locationName:"lastAttemptedDeployment" type:"structure"` // Information about the most recent successful deployment to the deployment // group. LastSuccessfulDeployment *LastDeploymentInfo `locationName:"lastSuccessfulDeployment" type:"structure"` // Information about the load balancer to use in a deployment. LoadBalancerInfo *LoadBalancerInfo `locationName:"loadBalancerInfo" type:"structure"` // The on-premises instance tags on which to filter. The deployment group includes // on-premises instances with any of the specified tags. OnPremisesInstanceTagFilters []TagFilter `locationName:"onPremisesInstanceTagFilters" type:"list"` // Information about groups of tags applied to an on-premises instance. The // deployment group includes only on-premises instances identified by all the // tag groups. Cannot be used in the same call as onPremisesInstanceTagFilters. OnPremisesTagSet *OnPremisesTagSet `locationName:"onPremisesTagSet" type:"structure"` // A service role Amazon Resource Name (ARN) that grants CodeDeploy permission // to make calls to AWS services on your behalf. For more information, see Create // a Service Role for AWS CodeDeploy (https://docs.aws.amazon.com/codedeploy/latest/userguide/getting-started-create-service-role.html) // in the AWS CodeDeploy User Guide. ServiceRoleArn *string `locationName:"serviceRoleArn" type:"string"` // Information about the deployment group's target revision, including type // and location. TargetRevision *RevisionLocation `locationName:"targetRevision" type:"structure"` // Information about triggers associated with the deployment group. TriggerConfigurations []TriggerConfig `locationName:"triggerConfigurations" type:"list"` } // String returns the string representation func (s DeploymentGroupInfo) String() string { return awsutil.Prettify(s) } // Information about a deployment. type DeploymentInfo struct { _ struct{} `type:"structure"` // Provides information about the results of a deployment, such as whether instances // in the original environment in a blue/green deployment were not terminated. AdditionalDeploymentStatusInfo *string `locationName:"additionalDeploymentStatusInfo" deprecated:"true" type:"string"` // The application name. ApplicationName *string `locationName:"applicationName" min:"1" type:"string"` // Information about the automatic rollback configuration associated with the // deployment. AutoRollbackConfiguration *AutoRollbackConfiguration `locationName:"autoRollbackConfiguration" type:"structure"` // Information about blue/green deployment options for this deployment. BlueGreenDeploymentConfiguration *BlueGreenDeploymentConfiguration `locationName:"blueGreenDeploymentConfiguration" type:"structure"` // A timestamp that indicates when the deployment was complete. CompleteTime *time.Time `locationName:"completeTime" type:"timestamp"` // The destination platform type for the deployment (Lambda, Server, or ECS). ComputePlatform ComputePlatform `locationName:"computePlatform" type:"string" enum:"true"` // A timestamp that indicates when the deployment was created. CreateTime *time.Time `locationName:"createTime" type:"timestamp"` // The means by which the deployment was created: // // * user: A user created the deployment. // // * autoscaling: Amazon EC2 Auto Scaling created the deployment. // // * codeDeployRollback: A rollback process created the deployment. Creator DeploymentCreator `locationName:"creator" type:"string" enum:"true"` // The deployment configuration name. DeploymentConfigName *string `locationName:"deploymentConfigName" min:"1" type:"string"` // The deployment group name. DeploymentGroupName *string `locationName:"deploymentGroupName" min:"1" type:"string"` // The unique ID of a deployment. DeploymentId *string `locationName:"deploymentId" type:"string"` // A summary of the deployment status of the instances in the deployment. DeploymentOverview *DeploymentOverview `locationName:"deploymentOverview" type:"structure"` // Messages that contain information about the status of a deployment. DeploymentStatusMessages []string `locationName:"deploymentStatusMessages" type:"list"` // Information about the type of deployment, either in-place or blue/green, // you want to run and whether to route deployment traffic behind a load balancer. DeploymentStyle *DeploymentStyle `locationName:"deploymentStyle" type:"structure"` // A comment about the deployment. Description *string `locationName:"description" type:"string"` // Information about any error associated with this deployment. ErrorInformation *ErrorInformation `locationName:"errorInformation" type:"structure"` // The unique ID for an external resource (for example, a CloudFormation stack // ID) that is linked to this deployment. ExternalId *string `locationName:"externalId" type:"string"` // Information about how AWS CodeDeploy handles files that already exist in // a deployment target location but weren't part of the previous successful // deployment. // // * DISALLOW: The deployment fails. This is also the default behavior if // no option is specified. // // * OVERWRITE: The version of the file from the application revision currently // being deployed replaces the version already on the instance. // // * RETAIN: The version of the file already on the instance is kept and // used as part of the new deployment. FileExistsBehavior FileExistsBehavior `locationName:"fileExistsBehavior" type:"string" enum:"true"` // If true, then if an ApplicationStop, BeforeBlockTraffic, or AfterBlockTraffic // deployment lifecycle event to an instance fails, then the deployment continues // to the next deployment lifecycle event. For example, if ApplicationStop fails, // the deployment continues with DownloadBundle. If BeforeBlockTraffic fails, // the deployment continues with BlockTraffic. If AfterBlockTraffic fails, the // deployment continues with ApplicationStop. // // If false or not specified, then if a lifecycle event fails during a deployment // to an instance, that deployment fails. If deployment to that instance is // part of an overall deployment and the number of healthy hosts is not less // than the minimum number of healthy hosts, then a deployment to the next instance // is attempted. // // During a deployment, the AWS CodeDeploy agent runs the scripts specified // for ApplicationStop, BeforeBlockTraffic, and AfterBlockTraffic in the AppSpec // file from the previous successful deployment. (All other scripts are run // from the AppSpec file in the current deployment.) If one of these scripts // contains an error and does not run successfully, the deployment can fail. // // If the cause of the failure is a script from the last successful deployment // that will never run successfully, create a new deployment and use ignoreApplicationStopFailures // to specify that the ApplicationStop, BeforeBlockTraffic, and AfterBlockTraffic // failures should be ignored. IgnoreApplicationStopFailures *bool `locationName:"ignoreApplicationStopFailures" type:"boolean"` // Indicates whether the wait period set for the termination of instances in // the original environment has started. Status is 'false' if the KEEP_ALIVE // option is specified. Otherwise, 'true' as soon as the termination wait period // starts. InstanceTerminationWaitTimeStarted *bool `locationName:"instanceTerminationWaitTimeStarted" type:"boolean"` // Information about the load balancer used in the deployment. LoadBalancerInfo *LoadBalancerInfo `locationName:"loadBalancerInfo" type:"structure"` // Information about the application revision that was deployed to the deployment // group before the most recent successful deployment. PreviousRevision *RevisionLocation `locationName:"previousRevision" type:"structure"` // Information about the location of stored application artifacts and the service // from which to retrieve them. Revision *RevisionLocation `locationName:"revision" type:"structure"` // Information about a deployment rollback. RollbackInfo *RollbackInfo `locationName:"rollbackInfo" type:"structure"` // A timestamp that indicates when the deployment was deployed to the deployment // group. // // In some cases, the reported value of the start time might be later than the // complete time. This is due to differences in the clock settings of backend // servers that participate in the deployment process. StartTime *time.Time `locationName:"startTime" type:"timestamp"` // The current state of the deployment as a whole. Status DeploymentStatus `locationName:"status" type:"string" enum:"true"` // Information about the instances that belong to the replacement environment // in a blue/green deployment. TargetInstances *TargetInstances `locationName:"targetInstances" type:"structure"` // Indicates whether only instances that are not running the latest application // revision are to be deployed to. UpdateOutdatedInstancesOnly *bool `locationName:"updateOutdatedInstancesOnly" type:"boolean"` } // String returns the string representation func (s DeploymentInfo) String() string { return awsutil.Prettify(s) } // Information about the deployment status of the instances in the deployment. type DeploymentOverview struct { _ struct{} `type:"structure"` // The number of instances in the deployment in a failed state. Failed *int64 `type:"long"` // The number of instances in which the deployment is in progress. InProgress *int64 `type:"long"` // The number of instances in the deployment in a pending state. Pending *int64 `type:"long"` // The number of instances in a replacement environment ready to receive traffic // in a blue/green deployment. Ready *int64 `type:"long"` // The number of instances in the deployment in a skipped state. Skipped *int64 `type:"long"` // The number of instances in the deployment to which revisions have been successfully // deployed. Succeeded *int64 `type:"long"` } // String returns the string representation func (s DeploymentOverview) String() string { return awsutil.Prettify(s) } // Information about how traffic is rerouted to instances in a replacement environment // in a blue/green deployment. type DeploymentReadyOption struct { _ struct{} `type:"structure"` // Information about when to reroute traffic from an original environment to // a replacement environment in a blue/green deployment. // // * CONTINUE_DEPLOYMENT: Register new instances with the load balancer immediately // after the new application revision is installed on the instances in the // replacement environment. // // * STOP_DEPLOYMENT: Do not register new instances with a load balancer // unless traffic rerouting is started using ContinueDeployment. If traffic // rerouting is not started before the end of the specified wait period, // the deployment status is changed to Stopped. ActionOnTimeout DeploymentReadyAction `locationName:"actionOnTimeout" type:"string" enum:"true"` // The number of minutes to wait before the status of a blue/green deployment // is changed to Stopped if rerouting is not started manually. Applies only // to the STOP_DEPLOYMENT option for actionOnTimeout. WaitTimeInMinutes *int64 `locationName:"waitTimeInMinutes" type:"integer"` } // String returns the string representation func (s DeploymentReadyOption) String() string { return awsutil.Prettify(s) } // Information about the type of deployment, either in-place or blue/green, // you want to run and whether to route deployment traffic behind a load balancer. type DeploymentStyle struct { _ struct{} `type:"structure"` // Indicates whether to route deployment traffic behind a load balancer. DeploymentOption DeploymentOption `locationName:"deploymentOption" type:"string" enum:"true"` // Indicates whether to run an in-place deployment or a blue/green deployment. DeploymentType DeploymentType `locationName:"deploymentType" type:"string" enum:"true"` } // String returns the string representation func (s DeploymentStyle) String() string { return awsutil.Prettify(s) } // Information about the deployment target. type DeploymentTarget struct { _ struct{} `type:"structure"` // Information about the target to be updated by an AWS CloudFormation blue/green // deployment. This target type is used for all deployments initiated by a CloudFormation // stack update. CloudFormationTarget *CloudFormationTarget `locationName:"cloudFormationTarget" type:"structure"` // The deployment type that is specific to the deployment's compute platform // or deployments initiated by a CloudFormation stack update. DeploymentTargetType DeploymentTargetType `locationName:"deploymentTargetType" type:"string" enum:"true"` // Information about the target for a deployment that uses the Amazon ECS compute // platform. EcsTarget *ECSTarget `locationName:"ecsTarget" type:"structure"` // Information about the target for a deployment that uses the EC2/On-premises // compute platform. InstanceTarget *InstanceTarget `locationName:"instanceTarget" type:"structure"` // Information about the target for a deployment that uses the AWS Lambda compute // platform. LambdaTarget *LambdaTarget `locationName:"lambdaTarget" type:"structure"` } // String returns the string representation func (s DeploymentTarget) String() string { return awsutil.Prettify(s) } // Diagnostic information about executable scripts that are part of a deployment. type Diagnostics struct { _ struct{} `type:"structure"` // The associated error code: // // * Success: The specified script ran. // // * ScriptMissing: The specified script was not found in the specified location. // // * ScriptNotExecutable: The specified script is not a recognized executable // file type. // // * ScriptTimedOut: The specified script did not finish running in the specified // time period. // // * ScriptFailed: The specified script failed to run as expected. // // * UnknownError: The specified script did not run for an unknown reason. ErrorCode LifecycleErrorCode `locationName:"errorCode" type:"string" enum:"true"` // The last portion of the diagnostic log. // // If available, AWS CodeDeploy returns up to the last 4 KB of the diagnostic // log. LogTail *string `locationName:"logTail" type:"string"` // The message associated with the error. Message *string `locationName:"message" type:"string"` // The name of the script. ScriptName *string `locationName:"scriptName" type:"string"` } // String returns the string representation func (s Diagnostics) String() string { return awsutil.Prettify(s) } // Information about an EC2 tag filter. type EC2TagFilter struct { _ struct{} `type:"structure"` // The tag filter key. Key *string `type:"string"` // The tag filter type: // // * KEY_ONLY: Key only. // // * VALUE_ONLY: Value only. // // * KEY_AND_VALUE: Key and value. Type EC2TagFilterType `type:"string" enum:"true"` // The tag filter value. Value *string `type:"string"` } // String returns the string representation func (s EC2TagFilter) String() string { return awsutil.Prettify(s) } // Information about groups of EC2 instance tags. type EC2TagSet struct { _ struct{} `type:"structure"` // A list that contains other lists of EC2 instance tag groups. For an instance // to be included in the deployment group, it must be identified by all of the // tag groups in the list. Ec2TagSetList [][]EC2TagFilter `locationName:"ec2TagSetList" type:"list"` } // String returns the string representation func (s EC2TagSet) String() string { return awsutil.Prettify(s) } // Contains the service and cluster names used to identify an Amazon ECS deployment's // target. type ECSService struct { _ struct{} `type:"structure"` // The name of the cluster that the Amazon ECS service is associated with. ClusterName *string `locationName:"clusterName" type:"string"` // The name of the target Amazon ECS service. ServiceName *string `locationName:"serviceName" type:"string"` } // String returns the string representation func (s ECSService) String() string { return awsutil.Prettify(s) } // Information about the target of an Amazon ECS deployment. type ECSTarget struct { _ struct{} `type:"structure"` // The unique ID of a deployment. DeploymentId *string `locationName:"deploymentId" type:"string"` // The date and time when the target Amazon ECS application was updated by a // deployment. LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"` // The lifecycle events of the deployment to this target Amazon ECS application. LifecycleEvents []LifecycleEvent `locationName:"lifecycleEvents" type:"list"` // The status an Amazon ECS deployment's target ECS application. Status TargetStatus `locationName:"status" type:"string" enum:"true"` // The Amazon Resource Name (ARN) of the target. TargetArn *string `locationName:"targetArn" type:"string"` // The unique ID of a deployment target that has a type of ecsTarget. TargetId *string `locationName:"targetId" type:"string"` // The ECSTaskSet objects associated with the ECS target. TaskSetsInfo []ECSTaskSet `locationName:"taskSetsInfo" type:"list"` } // String returns the string representation func (s ECSTarget) String() string { return awsutil.Prettify(s) } // Information about a set of Amazon ECS tasks in an AWS CodeDeploy deployment. // An Amazon ECS task set includes details such as the desired number of tasks, // how many tasks are running, and whether the task set serves production traffic. // An AWS CodeDeploy application that uses the Amazon ECS compute platform deploys // a containerized application in an Amazon ECS service as a task set. type ECSTaskSet struct { _ struct{} `type:"structure"` // The number of tasks in a task set. During a deployment that uses the Amazon // ECS compute type, CodeDeploy instructs Amazon ECS to create a new task set // and uses this value to determine how many tasks to create. After the updated // task set is created, CodeDeploy shifts traffic to the new task set. DesiredCount *int64 `locationName:"desiredCount" type:"long"` // A unique ID of an ECSTaskSet. Identifer *string `locationName:"identifer" type:"string"` // The number of tasks in the task set that are in the PENDING status during // an Amazon ECS deployment. A task in the PENDING state is preparing to enter // the RUNNING state. A task set enters the PENDING status when it launches // for the first time, or when it is restarted after being in the STOPPED state. PendingCount *int64 `locationName:"pendingCount" type:"long"` // The number of tasks in the task set that are in the RUNNING status during // an Amazon ECS deployment. A task in the RUNNING state is running and ready // for use. RunningCount *int64 `locationName:"runningCount" type:"long"` // The status of the task set. There are three valid task set statuses: // // * PRIMARY: Indicates the task set is serving production traffic. // // * ACTIVE: Indicates the task set is not serving production traffic. // // * DRAINING: Indicates the tasks in the task set are being stopped and // their corresponding targets are being deregistered from their target group. Status *string `locationName:"status" type:"string"` // The target group associated with the task set. The target group is used by // AWS CodeDeploy to manage traffic to a task set. TargetGroup *TargetGroupInfo `locationName:"targetGroup" type:"structure"` // A label that identifies whether the ECS task set is an original target (BLUE) // or a replacement target (GREEN). TaskSetLabel TargetLabel `locationName:"taskSetLabel" type:"string" enum:"true"` // The percentage of traffic served by this task set. TrafficWeight *float64 `locationName:"trafficWeight" type:"double"` } // String returns the string representation func (s ECSTaskSet) String() string { return awsutil.Prettify(s) } // Information about a load balancer in Elastic Load Balancing to use in a deployment. // Instances are registered directly with a load balancer, and traffic is routed // to the load balancer. type ELBInfo struct { _ struct{} `type:"structure"` // For blue/green deployments, the name of the load balancer that is used to // route traffic from original instances to replacement instances in a blue/green // deployment. For in-place deployments, the name of the load balancer that // instances are deregistered from so they are not serving traffic during a // deployment, and then re-registered with after the deployment is complete. Name *string `locationName:"name" type:"string"` } // String returns the string representation func (s ELBInfo) String() string { return awsutil.Prettify(s) } // Information about a deployment error. type ErrorInformation struct { _ struct{} `type:"structure"` // For more information, see Error Codes for AWS CodeDeploy (https://docs.aws.amazon.com/codedeploy/latest/userguide/error-codes.html) // in the AWS CodeDeploy User Guide (https://docs.aws.amazon.com/codedeploy/latest/userguide). // // The error code: // // * APPLICATION_MISSING: The application was missing. This error code is // most likely raised if the application is deleted after the deployment // is created, but before it is started. // // * DEPLOYMENT_GROUP_MISSING: The deployment group was missing. This error // code is most likely raised if the deployment group is deleted after the // deployment is created, but before it is started. // // * HEALTH_CONSTRAINTS: The deployment failed on too many instances to be // successfully deployed within the instance health constraints specified. // // * HEALTH_CONSTRAINTS_INVALID: The revision cannot be successfully deployed // within the instance health constraints specified. // // * IAM_ROLE_MISSING: The service role cannot be accessed. // // * IAM_ROLE_PERMISSIONS: The service role does not have the correct permissions. // // * INTERNAL_ERROR: There was an internal error. // // * NO_EC2_SUBSCRIPTION: The calling account is not subscribed to Amazon // EC2. // // * NO_INSTANCES: No instances were specified, or no instances can be found. // // * OVER_MAX_INSTANCES: The maximum number of instances was exceeded. // // * THROTTLED: The operation was throttled because the calling account exceeded // the throttling limits of one or more AWS services. // // * TIMEOUT: The deployment has timed out. // // * REVISION_MISSING: The revision ID was missing. This error code is most // likely raised if the revision is deleted after the deployment is created, // but before it is started. Code ErrorCode `locationName:"code" type:"string" enum:"true"` // An accompanying error message. Message *string `locationName:"message" type:"string"` } // String returns the string representation func (s ErrorInformation) String() string { return awsutil.Prettify(s) } // Information about an application revision. type GenericRevisionInfo struct { _ struct{} `type:"structure"` // The deployment groups for which this is the current target revision. DeploymentGroups []string `locationName:"deploymentGroups" type:"list"` // A comment about the revision. Description *string `locationName:"description" type:"string"` // When the revision was first used by AWS CodeDeploy. FirstUsedTime *time.Time `locationName:"firstUsedTime" type:"timestamp"` // When the revision was last used by AWS CodeDeploy. LastUsedTime *time.Time `locationName:"lastUsedTime" type:"timestamp"` // When the revision was registered with AWS CodeDeploy. RegisterTime *time.Time `locationName:"registerTime" type:"timestamp"` } // String returns the string representation func (s GenericRevisionInfo) String() string { return awsutil.Prettify(s) } // Information about the location of application artifacts stored in GitHub. type GitHubLocation struct { _ struct{} `type:"structure"` // The SHA1 commit ID of the GitHub commit that represents the bundled artifacts // for the application revision. CommitId *string `locationName:"commitId" type:"string"` // The GitHub account and repository pair that stores a reference to the commit // that represents the bundled artifacts for the application revision. // // Specified as account/repository. Repository *string `locationName:"repository" type:"string"` } // String returns the string representation func (s GitHubLocation) String() string { return awsutil.Prettify(s) } // Information about the instances that belong to the replacement environment // in a blue/green deployment. type GreenFleetProvisioningOption struct { _ struct{} `type:"structure"` // The method used to add instances to a replacement environment. // // * DISCOVER_EXISTING: Use instances that already exist or will be created // manually. // // * COPY_AUTO_SCALING_GROUP: Use settings from a specified Auto Scaling // group to define and create instances in a new Auto Scaling group. Action GreenFleetProvisioningAction `locationName:"action" type:"string" enum:"true"` } // String returns the string representation func (s GreenFleetProvisioningOption) String() string { return awsutil.Prettify(s) } // Information about an on-premises instance. type InstanceInfo struct { _ struct{} `type:"structure"` // If the on-premises instance was deregistered, the time at which the on-premises // instance was deregistered. DeregisterTime *time.Time `locationName:"deregisterTime" type:"timestamp"` // The ARN of the IAM session associated with the on-premises instance. IamSessionArn *string `locationName:"iamSessionArn" type:"string"` // The IAM user ARN associated with the on-premises instance. IamUserArn *string `locationName:"iamUserArn" type:"string"` // The ARN of the on-premises instance. InstanceArn *string `locationName:"instanceArn" type:"string"` // The name of the on-premises instance. InstanceName *string `locationName:"instanceName" type:"string"` // The time at which the on-premises instance was registered. RegisterTime *time.Time `locationName:"registerTime" type:"timestamp"` // The tags currently associated with the on-premises instance. Tags []Tag `locationName:"tags" type:"list"` } // String returns the string representation func (s InstanceInfo) String() string { return awsutil.Prettify(s) } // Information about an instance in a deployment. type InstanceSummary struct { _ struct{} `deprecated:"true" type:"structure"` // The unique ID of a deployment. DeploymentId *string `locationName:"deploymentId" type:"string"` // The instance ID. InstanceId *string `locationName:"instanceId" type:"string"` // Information about which environment an instance belongs to in a blue/green // deployment. // // * BLUE: The instance is part of the original environment. // // * GREEN: The instance is part of the replacement environment. InstanceType InstanceType `locationName:"instanceType" type:"string" enum:"true"` // A timestamp that indicates when the instance information was last updated. LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"` // A list of lifecycle events for this instance. LifecycleEvents []LifecycleEvent `locationName:"lifecycleEvents" type:"list"` // The deployment status for this instance: // // * Pending: The deployment is pending for this instance. // // * In Progress: The deployment is in progress for this instance. // // * Succeeded: The deployment has succeeded for this instance. // // * Failed: The deployment has failed for this instance. // // * Skipped: The deployment has been skipped for this instance. // // * Unknown: The deployment status is unknown for this instance. Status InstanceStatus `locationName:"status" deprecated:"true" type:"string" enum:"true"` } // String returns the string representation func (s InstanceSummary) String() string { return awsutil.Prettify(s) } // A target Amazon EC2 or on-premises instance during a deployment that uses // the EC2/On-premises compute platform. type InstanceTarget struct { _ struct{} `type:"structure"` // The unique ID of a deployment. DeploymentId *string `locationName:"deploymentId" type:"string"` // A label that identifies whether the instance is an original target (BLUE) // or a replacement target (GREEN). InstanceLabel TargetLabel `locationName:"instanceLabel" type:"string" enum:"true"` // The date and time when the target instance was updated by a deployment. LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"` // The lifecycle events of the deployment to this target instance. LifecycleEvents []LifecycleEvent `locationName:"lifecycleEvents" type:"list"` // The status an EC2/On-premises deployment's target instance. Status TargetStatus `locationName:"status" type:"string" enum:"true"` // The Amazon Resource Name (ARN) of the target. TargetArn *string `locationName:"targetArn" type:"string"` // The unique ID of a deployment target that has a type of instanceTarget. TargetId *string `locationName:"targetId" type:"string"` } // String returns the string representation func (s InstanceTarget) String() string { return awsutil.Prettify(s) } // Information about a Lambda function specified in a deployment. type LambdaFunctionInfo struct { _ struct{} `type:"structure"` // The version of a Lambda function that production traffic points to. CurrentVersion *string `locationName:"currentVersion" type:"string"` // The alias of a Lambda function. For more information, see AWS Lambda Function // Aliases (https://docs.aws.amazon.com/lambda/latest/dg/aliases-intro.html) // in the AWS Lambda Developer Guide. FunctionAlias *string `locationName:"functionAlias" type:"string"` // The name of a Lambda function. FunctionName *string `locationName:"functionName" type:"string"` // The version of a Lambda function that production traffic points to after // the Lambda function is deployed. TargetVersion *string `locationName:"targetVersion" type:"string"` // The percentage of production traffic that the target version of a Lambda // function receives. TargetVersionWeight *float64 `locationName:"targetVersionWeight" type:"double"` } // String returns the string representation func (s LambdaFunctionInfo) String() string { return awsutil.Prettify(s) } // Information about the target AWS Lambda function during an AWS Lambda deployment. type LambdaTarget struct { _ struct{} `type:"structure"` // The unique ID of a deployment. DeploymentId *string `locationName:"deploymentId" type:"string"` // A LambdaFunctionInfo object that describes a target Lambda function. LambdaFunctionInfo *LambdaFunctionInfo `locationName:"lambdaFunctionInfo" type:"structure"` // The date and time when the target Lambda function was updated by a deployment. LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"` // The lifecycle events of the deployment to this target Lambda function. LifecycleEvents []LifecycleEvent `locationName:"lifecycleEvents" type:"list"` // The status an AWS Lambda deployment's target Lambda function. Status TargetStatus `locationName:"status" type:"string" enum:"true"` // The Amazon Resource Name (ARN) of the target. TargetArn *string `locationName:"targetArn" type:"string"` // The unique ID of a deployment target that has a type of lambdaTarget. TargetId *string `locationName:"targetId" type:"string"` } // String returns the string representation func (s LambdaTarget) String() string { return awsutil.Prettify(s) } // Information about the most recent attempted or successful deployment to a // deployment group. type LastDeploymentInfo struct { _ struct{} `type:"structure"` // A timestamp that indicates when the most recent deployment to the deployment // group started. CreateTime *time.Time `locationName:"createTime" type:"timestamp"` // The unique ID of a deployment. DeploymentId *string `locationName:"deploymentId" type:"string"` // A timestamp that indicates when the most recent deployment to the deployment // group was complete. EndTime *time.Time `locationName:"endTime" type:"timestamp"` // The status of the most recent deployment. Status DeploymentStatus `locationName:"status" type:"string" enum:"true"` } // String returns the string representation func (s LastDeploymentInfo) String() string { return awsutil.Prettify(s) } // Information about a deployment lifecycle event. type LifecycleEvent struct { _ struct{} `type:"structure"` // Diagnostic information about the deployment lifecycle event. Diagnostics *Diagnostics `locationName:"diagnostics" type:"structure"` // A timestamp that indicates when the deployment lifecycle event ended. EndTime *time.Time `locationName:"endTime" type:"timestamp"` // The deployment lifecycle event name, such as ApplicationStop, BeforeInstall, // AfterInstall, ApplicationStart, or ValidateService. LifecycleEventName *string `locationName:"lifecycleEventName" type:"string"` // A timestamp that indicates when the deployment lifecycle event started. StartTime *time.Time `locationName:"startTime" type:"timestamp"` // The deployment lifecycle event status: // // * Pending: The deployment lifecycle event is pending. // // * InProgress: The deployment lifecycle event is in progress. // // * Succeeded: The deployment lifecycle event ran successfully. // // * Failed: The deployment lifecycle event has failed. // // * Skipped: The deployment lifecycle event has been skipped. // // * Unknown: The deployment lifecycle event is unknown. Status LifecycleEventStatus `locationName:"status" type:"string" enum:"true"` } // String returns the string representation func (s LifecycleEvent) String() string { return awsutil.Prettify(s) } // Information about the Elastic Load Balancing load balancer or target group // used in a deployment. type LoadBalancerInfo struct { _ struct{} `type:"structure"` // An array that contains information about the load balancer to use for load // balancing in a deployment. In Elastic Load Balancing, load balancers are // used with Classic Load Balancers. // // Adding more than one load balancer to the array is not supported. ElbInfoList []ELBInfo `locationName:"elbInfoList" type:"list"` // An array that contains information about the target group to use for load // balancing in a deployment. In Elastic Load Balancing, target groups are used // with Application Load Balancers. // // Adding more than one target group to the array is not supported. TargetGroupInfoList []TargetGroupInfo `locationName:"targetGroupInfoList" type:"list"` // The target group pair information. This is an array of TargeGroupPairInfo // objects with a maximum size of one. TargetGroupPairInfoList []TargetGroupPairInfo `locationName:"targetGroupPairInfoList" type:"list"` } // String returns the string representation func (s LoadBalancerInfo) String() string { return awsutil.Prettify(s) } // Information about minimum healthy instance. type MinimumHealthyHosts struct { _ struct{} `type:"structure"` // The minimum healthy instance type: // // * HOST_COUNT: The minimum number of healthy instances as an absolute value. // // * FLEET_PERCENT: The minimum number of healthy instances as a percentage // of the total number of instances in the deployment. // // In an example of nine instances, if a HOST_COUNT of six is specified, deploy // to up to three instances at a time. The deployment is successful if six or // more instances are deployed to successfully. Otherwise, the deployment fails. // If a FLEET_PERCENT of 40 is specified, deploy to up to five instances at // a time. The deployment is successful if four or more instances are deployed // to successfully. Otherwise, the deployment fails. // // In a call to the GetDeploymentConfig, CodeDeployDefault.OneAtATime returns // a minimum healthy instance type of MOST_CONCURRENCY and a value of 1. This // means a deployment to only one instance at a time. (You cannot set the type // to MOST_CONCURRENCY, only to HOST_COUNT or FLEET_PERCENT.) In addition, with // CodeDeployDefault.OneAtATime, AWS CodeDeploy attempts to ensure that all // instances but one are kept in a healthy state during the deployment. Although // this allows one instance at a time to be taken offline for a new deployment, // it also means that if the deployment to the last instance fails, the overall // deployment is still successful. // // For more information, see AWS CodeDeploy Instance Health (https://docs.aws.amazon.com/codedeploy/latest/userguide/instances-health.html) // in the AWS CodeDeploy User Guide. Type MinimumHealthyHostsType `locationName:"type" type:"string" enum:"true"` // The minimum healthy instance value. Value *int64 `locationName:"value" type:"integer"` } // String returns the string representation func (s MinimumHealthyHosts) String() string { return awsutil.Prettify(s) } // Information about groups of on-premises instance tags. type OnPremisesTagSet struct { _ struct{} `type:"structure"` // A list that contains other lists of on-premises instance tag groups. For // an instance to be included in the deployment group, it must be identified // by all of the tag groups in the list. OnPremisesTagSetList [][]TagFilter `locationName:"onPremisesTagSetList" type:"list"` } // String returns the string representation func (s OnPremisesTagSet) String() string { return awsutil.Prettify(s) } // A revision for an AWS Lambda deployment that is a YAML-formatted or JSON-formatted // string. For AWS Lambda deployments, the revision is the same as the AppSpec // file. type RawString struct { _ struct{} `deprecated:"true" type:"structure"` // The YAML-formatted or JSON-formatted revision string. It includes information // about which Lambda function to update and optional Lambda functions that // validate deployment lifecycle events. Content *string `locationName:"content" type:"string"` // The SHA256 hash value of the revision content. Sha256 *string `locationName:"sha256" type:"string"` } // String returns the string representation func (s RawString) String() string { return awsutil.Prettify(s) } // Information about an application revision. type RevisionInfo struct { _ struct{} `type:"structure"` // Information about an application revision, including usage details and associated // deployment groups. GenericRevisionInfo *GenericRevisionInfo `locationName:"genericRevisionInfo" type:"structure"` // Information about the location and type of an application revision. RevisionLocation *RevisionLocation `locationName:"revisionLocation" type:"structure"` } // String returns the string representation func (s RevisionInfo) String() string { return awsutil.Prettify(s) } // Information about the location of an application revision. type RevisionLocation struct { _ struct{} `type:"structure"` // The content of an AppSpec file for an AWS Lambda or Amazon ECS deployment. // The content is formatted as JSON or YAML and stored as a RawString. AppSpecContent *AppSpecContent `locationName:"appSpecContent" type:"structure"` // Information about the location of application artifacts stored in GitHub. GitHubLocation *GitHubLocation `locationName:"gitHubLocation" type:"structure"` // The type of application revision: // // * S3: An application revision stored in Amazon S3. // // * GitHub: An application revision stored in GitHub (EC2/On-premises deployments // only). // // * String: A YAML-formatted or JSON-formatted string (AWS Lambda deployments // only). // // * AppSpecContent: An AppSpecContent object that contains the contents // of an AppSpec file for an AWS Lambda or Amazon ECS deployment. The content // is formatted as JSON or YAML stored as a RawString. RevisionType RevisionLocationType `locationName:"revisionType" type:"string" enum:"true"` // Information about the location of a revision stored in Amazon S3. S3Location *S3Location `locationName:"s3Location" type:"structure"` // Information about the location of an AWS Lambda deployment revision stored // as a RawString. String_ *RawString `locationName:"string" deprecated:"true" type:"structure"` } // String returns the string representation func (s RevisionLocation) String() string { return awsutil.Prettify(s) } // Information about a deployment rollback. type RollbackInfo struct { _ struct{} `type:"structure"` // The ID of the deployment rollback. RollbackDeploymentId *string `locationName:"rollbackDeploymentId" type:"string"` // Information that describes the status of a deployment rollback (for example, // whether the deployment can't be rolled back, is in progress, failed, or succeeded). RollbackMessage *string `locationName:"rollbackMessage" type:"string"` // The deployment ID of the deployment that was underway and triggered a rollback // deployment because it failed or was stopped. RollbackTriggeringDeploymentId *string `locationName:"rollbackTriggeringDeploymentId" type:"string"` } // String returns the string representation func (s RollbackInfo) String() string { return awsutil.Prettify(s) } // Information about the location of application artifacts stored in Amazon // S3. type S3Location struct { _ struct{} `type:"structure"` // The name of the Amazon S3 bucket where the application revision is stored. Bucket *string `locationName:"bucket" type:"string"` // The file type of the application revision. Must be one of the following: // // * tar: A tar archive file. // // * tgz: A compressed tar archive file. // // * zip: A zip archive file. BundleType BundleType `locationName:"bundleType" type:"string" enum:"true"` // The ETag of the Amazon S3 object that represents the bundled artifacts for // the application revision. // // If the ETag is not specified as an input parameter, ETag validation of the // object is skipped. ETag *string `locationName:"eTag" type:"string"` // The name of the Amazon S3 object that represents the bundled artifacts for // the application revision. Key *string `locationName:"key" type:"string"` // A specific version of the Amazon S3 object that represents the bundled artifacts // for the application revision. // // If the version is not specified, the system uses the most recent version // by default. Version *string `locationName:"version" type:"string"` } // String returns the string representation func (s S3Location) String() string { return awsutil.Prettify(s) } // Information about a tag. type Tag struct { _ struct{} `type:"structure"` // The tag's key. Key *string `type:"string"` // The tag's value. Value *string `type:"string"` } // String returns the string representation func (s Tag) String() string { return awsutil.Prettify(s) } // Information about an on-premises instance tag filter. type TagFilter struct { _ struct{} `type:"structure"` // The on-premises instance tag filter key. Key *string `type:"string"` // The on-premises instance tag filter type: // // * KEY_ONLY: Key only. // // * VALUE_ONLY: Value only. // // * KEY_AND_VALUE: Key and value. Type TagFilterType `type:"string" enum:"true"` // The on-premises instance tag filter value. Value *string `type:"string"` } // String returns the string representation func (s TagFilter) String() string { return awsutil.Prettify(s) } // Information about a target group in Elastic Load Balancing to use in a deployment. // Instances are registered as targets in a target group, and traffic is routed // to the target group. type TargetGroupInfo struct { _ struct{} `type:"structure"` // For blue/green deployments, the name of the target group that instances in // the original environment are deregistered from, and instances in the replacement // environment are registered with. For in-place deployments, the name of the // target group that instances are deregistered from, so they are not serving // traffic during a deployment, and then re-registered with after the deployment // is complete. Name *string `locationName:"name" type:"string"` } // String returns the string representation func (s TargetGroupInfo) String() string { return awsutil.Prettify(s) } // Information about two target groups and how traffic is routed during an Amazon // ECS deployment. An optional test traffic route can be specified. type TargetGroupPairInfo struct { _ struct{} `type:"structure"` // The path used by a load balancer to route production traffic when an Amazon // ECS deployment is complete. ProdTrafficRoute *TrafficRoute `locationName:"prodTrafficRoute" type:"structure"` // One pair of target groups. One is associated with the original task set. // The second is associated with the task set that serves traffic after the // deployment is complete. TargetGroups []TargetGroupInfo `locationName:"targetGroups" type:"list"` // An optional path used by a load balancer to route test traffic after an Amazon // ECS deployment. Validation can occur while test traffic is served during // a deployment. TestTrafficRoute *TrafficRoute `locationName:"testTrafficRoute" type:"structure"` } // String returns the string representation func (s TargetGroupPairInfo) String() string { return awsutil.Prettify(s) } // Information about the instances to be used in the replacement environment // in a blue/green deployment. type TargetInstances struct { _ struct{} `type:"structure"` // The names of one or more Auto Scaling groups to identify a replacement environment // for a blue/green deployment. AutoScalingGroups []string `locationName:"autoScalingGroups" type:"list"` // Information about the groups of EC2 instance tags that an instance must be // identified by in order for it to be included in the replacement environment // for a blue/green deployment. Cannot be used in the same call as tagFilters. Ec2TagSet *EC2TagSet `locationName:"ec2TagSet" type:"structure"` // The tag filter key, type, and value used to identify Amazon EC2 instances // in a replacement environment for a blue/green deployment. Cannot be used // in the same call as ec2TagSet. TagFilters []EC2TagFilter `locationName:"tagFilters" type:"list"` } // String returns the string representation func (s TargetInstances) String() string { return awsutil.Prettify(s) } // A configuration that shifts traffic from one version of a Lambda function // or ECS task set to another in two increments. The original and target Lambda // function versions or ECS task sets are specified in the deployment's AppSpec // file. type TimeBasedCanary struct { _ struct{} `type:"structure"` // The number of minutes between the first and second traffic shifts of a TimeBasedCanary // deployment. CanaryInterval *int64 `locationName:"canaryInterval" type:"integer"` // The percentage of traffic to shift in the first increment of a TimeBasedCanary // deployment. CanaryPercentage *int64 `locationName:"canaryPercentage" type:"integer"` } // String returns the string representation func (s TimeBasedCanary) String() string { return awsutil.Prettify(s) } // A configuration that shifts traffic from one version of a Lambda function // or ECS task set to another in equal increments, with an equal number of minutes // between each increment. The original and target Lambda function versions // or ECS task sets are specified in the deployment's AppSpec file. type TimeBasedLinear struct { _ struct{} `type:"structure"` // The number of minutes between each incremental traffic shift of a TimeBasedLinear // deployment. LinearInterval *int64 `locationName:"linearInterval" type:"integer"` // The percentage of traffic that is shifted at the start of each increment // of a TimeBasedLinear deployment. LinearPercentage *int64 `locationName:"linearPercentage" type:"integer"` } // String returns the string representation func (s TimeBasedLinear) String() string { return awsutil.Prettify(s) } // Information about a time range. type TimeRange struct { _ struct{} `type:"structure"` // The end time of the time range. // // Specify null to leave the end time open-ended. End *time.Time `locationName:"end" type:"timestamp"` // The start time of the time range. // // Specify null to leave the start time open-ended. Start *time.Time `locationName:"start" type:"timestamp"` } // String returns the string representation func (s TimeRange) String() string { return awsutil.Prettify(s) } // Information about a listener. The listener contains the path used to route // traffic that is received from the load balancer to a target group. type TrafficRoute struct { _ struct{} `type:"structure"` // The Amazon Resource Name (ARN) of one listener. The listener identifies the // route between a target group and a load balancer. This is an array of strings // with a maximum size of one. ListenerArns []string `locationName:"listenerArns" type:"list"` } // String returns the string representation func (s TrafficRoute) String() string { return awsutil.Prettify(s) } // The configuration that specifies how traffic is shifted from one version // of a Lambda function to another version during an AWS Lambda deployment, // or from one Amazon ECS task set to another during an Amazon ECS deployment. type TrafficRoutingConfig struct { _ struct{} `type:"structure"` // A configuration that shifts traffic from one version of a Lambda function // or ECS task set to another in two increments. The original and target Lambda // function versions or ECS task sets are specified in the deployment's AppSpec // file. TimeBasedCanary *TimeBasedCanary `locationName:"timeBasedCanary" type:"structure"` // A configuration that shifts traffic from one version of a Lambda function // or ECS task set to another in equal increments, with an equal number of minutes // between each increment. The original and target Lambda function versions // or ECS task sets are specified in the deployment's AppSpec file. TimeBasedLinear *TimeBasedLinear `locationName:"timeBasedLinear" type:"structure"` // The type of traffic shifting (TimeBasedCanary or TimeBasedLinear) used by // a deployment configuration. Type TrafficRoutingType `locationName:"type" type:"string" enum:"true"` } // String returns the string representation func (s TrafficRoutingConfig) String() string { return awsutil.Prettify(s) } // Information about notification triggers for the deployment group. type TriggerConfig struct { _ struct{} `type:"structure"` // The event type or types for which notifications are triggered. TriggerEvents []TriggerEventType `locationName:"triggerEvents" type:"list"` // The name of the notification trigger. TriggerName *string `locationName:"triggerName" type:"string"` // The Amazon Resource Name (ARN) of the Amazon Simple Notification Service // topic through which notifications about deployment or instance events are // sent. TriggerTargetArn *string `locationName:"triggerTargetArn" type:"string"` } // String returns the string representation func (s TriggerConfig) String() string { return awsutil.Prettify(s) }