2016/02/18 - AWS CodeDeploy - 2 new3 updated api methods
Gets information about one or more application revisions.
Request Syntax
client.batch_get_application_revisions( applicationName='string', revisions=[ { 'revisionType': 'S3'|'GitHub', 's3Location': { 'bucket': 'string', 'key': 'string', 'bundleType': 'tar'|'tgz'|'zip', 'version': 'string', 'eTag': 'string' }, 'gitHubLocation': { 'repository': 'string', 'commitId': 'string' } }, ] )
string
[REQUIRED]
The name of an existing AWS CodeDeploy application to get revision information about.
list
[REQUIRED]
Information to get about the application revisions, including revision type and location.
(dict) --
Information about an application revision's location.
revisionType (string) --
The application revision's type:
S3: An application revision stored in Amazon S3.
GitHub: An application revision stored in GitHub.
s3Location (dict) --
Information about the location of application artifacts that are stored in Amazon S3.
bucket (string) --
The name of the Amazon S3 bucket where the application revision is stored.
key (string) --
The name of the Amazon S3 object that represents the bundled artifacts for the application revision.
bundleType (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.
version (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 will use the most recent version by default.
eTag (string) --
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 will be skipped.
gitHubLocation (dict) --
Information about the location of application artifacts that are stored in GitHub.
repository (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.
commitId (string) --
The SHA1 commit ID of the GitHub commit that represents the bundled artifacts for the application revision.
dict
Response Syntax
{ 'applicationName': 'string', 'errorMessage': 'string', 'revisions': [ { 'revisionLocation': { 'revisionType': 'S3'|'GitHub', 's3Location': { 'bucket': 'string', 'key': 'string', 'bundleType': 'tar'|'tgz'|'zip', 'version': 'string', 'eTag': 'string' }, 'gitHubLocation': { 'repository': 'string', 'commitId': 'string' } }, 'genericRevisionInfo': { 'description': 'string', 'deploymentGroups': [ 'string', ], 'firstUsedTime': datetime(2015, 1, 1), 'lastUsedTime': datetime(2015, 1, 1), 'registerTime': datetime(2015, 1, 1) } }, ] }
Response Structure
(dict) --
Represents the output of a batch get application revisions operation.
applicationName (string) --
The name of the application that corresponds to the revisions.
errorMessage (string) --
Information about errors that may have occurred during the API call.
revisions (list) --
Additional information about the revisions, including the revision type and location.
(dict) --
Information about an application revision.
revisionLocation (dict) --
Information about an application revision's location.
revisionType (string) --
The application revision's type:
S3: An application revision stored in Amazon S3.
GitHub: An application revision stored in GitHub.
s3Location (dict) --
Information about the location of application artifacts that are stored in Amazon S3.
bucket (string) --
The name of the Amazon S3 bucket where the application revision is stored.
key (string) --
The name of the Amazon S3 object that represents the bundled artifacts for the application revision.
bundleType (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.
version (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 will use the most recent version by default.
eTag (string) --
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 will be skipped.
gitHubLocation (dict) --
Information about the location of application artifacts that are stored in GitHub.
repository (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.
commitId (string) --
The SHA1 commit ID of the GitHub commit that represents the bundled artifacts for the application revision.
genericRevisionInfo (dict) --
Information about an application revision.
description (string) --
A comment about the revision.
deploymentGroups (list) --
The deployment groups where this is the current target revision.
(string) --
firstUsedTime (datetime) --
When the revision was first used by AWS CodeDeploy.
lastUsedTime (datetime) --
When the revision was last used by AWS CodeDeploy.
registerTime (datetime) --
When the revision was registered with AWS CodeDeploy.
Gets information about one or more instances that are part of a deployment group.
Request Syntax
client.batch_get_deployment_instances( deploymentId='string', instanceIds=[ 'string', ] )
string
[REQUIRED]
The unique ID of a deployment.
list
[REQUIRED]
The unique IDs of instances in the deployment's deployment group.
(string) --
dict
Response Syntax
{ 'instancesSummary': [ { 'deploymentId': 'string', 'instanceId': 'string', 'status': 'Pending'|'InProgress'|'Succeeded'|'Failed'|'Skipped'|'Unknown', 'lastUpdatedAt': datetime(2015, 1, 1), 'lifecycleEvents': [ { 'lifecycleEventName': 'string', 'diagnostics': { 'errorCode': 'Success'|'ScriptMissing'|'ScriptNotExecutable'|'ScriptTimedOut'|'ScriptFailed'|'UnknownError', 'scriptName': 'string', 'message': 'string', 'logTail': 'string' }, 'startTime': datetime(2015, 1, 1), 'endTime': datetime(2015, 1, 1), 'status': 'Pending'|'InProgress'|'Succeeded'|'Failed'|'Skipped'|'Unknown' }, ] }, ], 'errorMessage': 'string' }
Response Structure
(dict) --
Represents the output of a batch get deployment instances operation.
instancesSummary (list) --
Information about the instances.
(dict) --
Information about an instance in a deployment.
deploymentId (string) --
The deployment ID.
instanceId (string) --
The instance ID.
status (string) --
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.
lastUpdatedAt (datetime) --
A timestamp indicating when the instance information was last updated.
lifecycleEvents (list) --
A list of lifecycle events for this instance.
(dict) --
Information about a deployment lifecycle event.
lifecycleEventName (string) --
The deployment lifecycle event name, such as ApplicationStop, BeforeInstall, AfterInstall, ApplicationStart, or ValidateService.
diagnostics (dict) --
Diagnostic information about the deployment lifecycle event.
errorCode (string) --
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.
scriptName (string) --
The name of the script.
message (string) --
The message associated with the error.
logTail (string) --
The last portion of the associated diagnostic log.
If available, AWS CodeDeploy returns up to the last 4 KB of the associated diagnostic log.
startTime (datetime) --
A timestamp indicating when the deployment lifecycle event started.
endTime (datetime) --
A timestamp indicating when the deployment lifecycle event ended.
status (string) --
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 has succeeded.
Failed: The deployment lifecycle event has failed.
Skipped: The deployment lifecycle event has been skipped.
Unknown: The deployment lifecycle event is unknown.
errorMessage (string) --
Information about errors that may have occurred during the API call.
{'triggerConfigurations': [{'triggerEvents': ['DeploymentStart | ' 'DeploymentSuccess | ' 'DeploymentFailure | ' 'DeploymentStop | InstanceStart ' '| InstanceSuccess | ' 'InstanceFailure'], 'triggerName': 'string', 'triggerTargetArn': 'string'}]}
Creates a new deployment group for application revisions to be deployed to.
Request Syntax
client.create_deployment_group( applicationName='string', deploymentGroupName='string', deploymentConfigName='string', ec2TagFilters=[ { 'Key': 'string', 'Value': 'string', 'Type': 'KEY_ONLY'|'VALUE_ONLY'|'KEY_AND_VALUE' }, ], onPremisesInstanceTagFilters=[ { 'Key': 'string', 'Value': 'string', 'Type': 'KEY_ONLY'|'VALUE_ONLY'|'KEY_AND_VALUE' }, ], autoScalingGroups=[ 'string', ], serviceRoleArn='string', triggerConfigurations=[ { 'triggerName': 'string', 'triggerTargetArn': 'string', 'triggerEvents': [ 'DeploymentStart'|'DeploymentSuccess'|'DeploymentFailure'|'DeploymentStop'|'InstanceStart'|'InstanceSuccess'|'InstanceFailure', ] }, ] )
string
[REQUIRED]
The name of an existing AWS CodeDeploy application associated with the applicable IAM user or AWS account.
string
[REQUIRED]
The name of a new deployment group for the specified application.
string
If specified, the deployment configuration name can be either one of the predefined configurations provided with AWS CodeDeploy, or a custom deployment configuration that you created by calling the create deployment configuration operation.
The predefined deployment configurations including the following:
CodeDeployDefault.AllAtOnce attempts to deploy an application revision to as many instances as possible at once. The status of the overall deployment will be displayed as Succeeded if the application revision is deployed to one or more of the instances. The status of the overall deployment will be displayed as Failed if the application revision is not deployed to any of the instances. Using an example of nine instances, CodeDeployDefault.AllAtOnce will attempt to deploy to all nine instances at once. The overall deployment will succeed if deployment to even a single instance is successful; it will fail only if deployments to all nine instances fail.
CodeDeployDefault.HalfAtATime deploys to up to half of the instances at a time (with fractions rounded down). The overall deployment succeeds if the application revision deploys to at least half of the instances (with fractions rounded up); otherwise, the deployment fails. For example, for nine instances, deploy to up to four instances at a time. The overall deployment succeeds if deployment to five or more instances succeed; otherwise, the deployment fails. Note that the deployment may successfully deploy to some instances, even if the overall deployment fails.
CodeDeployDefault.OneAtATime deploys the application revision to only one instance at a time. For deployment groups that contain more than one instance:
The overall deployment succeeds if the application revision deploys to all of the instances. The exception to this rule is that if deployment to the last instance fails, the overall deployment still succeeds. This is because AWS CodeDeploy allows only one instance to be taken offline at a time with the CodeDeployDefault.OneAtATime configuration.
The overall deployment fails as soon as the application revision fails to deploy to any but the last instance. Note that the deployment may successfully deploy to some instances, even if the overall deployment fails.
Example: For nine instances, deploy to one instance at a time. The overall deployment succeeds if the first eight instances are successfully deployed to, but it fails if deployment to any of the first eight instances fails.
For deployment groups that contain only one instance, the overall deployment is of course successful only if deployment to the single instance succeeds.
list
The Amazon EC2 tags to filter on.
(dict) --
Information about a tag filter.
Key (string) --
The tag filter key.
Value (string) --
The tag filter value.
Type (string) --
The tag filter type:
KEY_ONLY: Key only.
VALUE_ONLY: Value only.
KEY_AND_VALUE: Key and value.
list
The on-premises instance tags to filter on.
(dict) --
Information about an on-premises instance tag filter.
Key (string) --
The on-premises instance tag filter key.
Value (string) --
The on-premises instance tag filter value.
Type (string) --
The on-premises instance tag filter type:
KEY_ONLY: Key only.
VALUE_ONLY: Value only.
KEY_AND_VALUE: Key and value.
list
A list of associated Auto Scaling groups.
(string) --
string
[REQUIRED]
A service role ARN that allows AWS CodeDeploy to act on the user's behalf when interacting with AWS services.
list
Information about triggers to create when the deployment group is created.
(dict) --
Information about notification triggers for the deployment group.
triggerName (string) -- The name of the notification trigger.
triggerTargetArn (string) --
The arn of the Amazon Simple Notification Service topic through which notifications about deployment or instance events are sent.
triggerEvents (list) --
The event type or types for which notifications are triggered.
The following event type values are supported:
DEPLOYMENT_START
DEPLOYMENT_SUCCESS
DEPLOYMENT_FAILURE
DEPLOYMENT_STOP
INSTANCE_START
INSTANCE_SUCCESS
INSTANCE_FAILURE
(string) --
dict
Response Syntax
{ 'deploymentGroupId': 'string' }
Response Structure
(dict) --
Represents the output of a create deployment group operation.
deploymentGroupId (string) --
A unique deployment group ID.
{'deploymentGroupInfo': {'triggerConfigurations': [{'triggerEvents': ['DeploymentStart ' '| ' 'DeploymentSuccess ' '| ' 'DeploymentFailure ' '| ' 'DeploymentStop ' '| ' 'InstanceStart ' '| ' 'InstanceSuccess ' '| ' 'InstanceFailure'], 'triggerName': 'string', 'triggerTargetArn': 'string'}]}}
Gets information about a deployment group.
Request Syntax
client.get_deployment_group( applicationName='string', deploymentGroupName='string' )
string
[REQUIRED]
The name of an existing AWS CodeDeploy application associated with the applicable IAM user or AWS account.
string
[REQUIRED]
The name of an existing deployment group for the specified application.
dict
Response Syntax
{ 'deploymentGroupInfo': { 'applicationName': 'string', 'deploymentGroupId': 'string', 'deploymentGroupName': 'string', 'deploymentConfigName': 'string', 'ec2TagFilters': [ { 'Key': 'string', 'Value': 'string', 'Type': 'KEY_ONLY'|'VALUE_ONLY'|'KEY_AND_VALUE' }, ], 'onPremisesInstanceTagFilters': [ { 'Key': 'string', 'Value': 'string', 'Type': 'KEY_ONLY'|'VALUE_ONLY'|'KEY_AND_VALUE' }, ], 'autoScalingGroups': [ { 'name': 'string', 'hook': 'string' }, ], 'serviceRoleArn': 'string', 'targetRevision': { 'revisionType': 'S3'|'GitHub', 's3Location': { 'bucket': 'string', 'key': 'string', 'bundleType': 'tar'|'tgz'|'zip', 'version': 'string', 'eTag': 'string' }, 'gitHubLocation': { 'repository': 'string', 'commitId': 'string' } }, 'triggerConfigurations': [ { 'triggerName': 'string', 'triggerTargetArn': 'string', 'triggerEvents': [ 'DeploymentStart'|'DeploymentSuccess'|'DeploymentFailure'|'DeploymentStop'|'InstanceStart'|'InstanceSuccess'|'InstanceFailure', ] }, ] } }
Response Structure
(dict) --
Represents the output of a get deployment group operation.
deploymentGroupInfo (dict) --
Information about the deployment group.
applicationName (string) --
The application name.
deploymentGroupId (string) --
The deployment group ID.
deploymentGroupName (string) --
The deployment group name.
deploymentConfigName (string) --
The deployment configuration name.
ec2TagFilters (list) --
The Amazon EC2 tags to filter on.
(dict) --
Information about a tag filter.
Key (string) --
The tag filter key.
Value (string) --
The tag filter value.
Type (string) --
The tag filter type:
KEY_ONLY: Key only.
VALUE_ONLY: Value only.
KEY_AND_VALUE: Key and value.
onPremisesInstanceTagFilters (list) --
The on-premises instance tags to filter on.
(dict) --
Information about an on-premises instance tag filter.
Key (string) --
The on-premises instance tag filter key.
Value (string) --
The on-premises instance tag filter value.
Type (string) --
The on-premises instance tag filter type:
KEY_ONLY: Key only.
VALUE_ONLY: Value only.
KEY_AND_VALUE: Key and value.
autoScalingGroups (list) --
A list of associated Auto Scaling groups.
(dict) --
Information about an Auto Scaling group.
name (string) --
The Auto Scaling group name.
hook (string) --
An Auto Scaling lifecycle event hook name.
serviceRoleArn (string) --
A service role ARN.
targetRevision (dict) --
Information about the deployment group's target revision, including the revision's type and its location.
revisionType (string) --
The application revision's type:
S3: An application revision stored in Amazon S3.
GitHub: An application revision stored in GitHub.
s3Location (dict) --
Information about the location of application artifacts that are stored in Amazon S3.
bucket (string) --
The name of the Amazon S3 bucket where the application revision is stored.
key (string) --
The name of the Amazon S3 object that represents the bundled artifacts for the application revision.
bundleType (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.
version (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 will use the most recent version by default.
eTag (string) --
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 will be skipped.
gitHubLocation (dict) --
Information about the location of application artifacts that are stored in GitHub.
repository (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.
commitId (string) --
The SHA1 commit ID of the GitHub commit that represents the bundled artifacts for the application revision.
triggerConfigurations (list) --
A list of associated triggers.
(dict) --
Information about notification triggers for the deployment group.
triggerName (string) -- The name of the notification trigger.
triggerTargetArn (string) --
The arn of the Amazon Simple Notification Service topic through which notifications about deployment or instance events are sent.
triggerEvents (list) --
The event type or types for which notifications are triggered.
The following event type values are supported:
DEPLOYMENT_START
DEPLOYMENT_SUCCESS
DEPLOYMENT_FAILURE
DEPLOYMENT_STOP
INSTANCE_START
INSTANCE_SUCCESS
INSTANCE_FAILURE
(string) --
{'triggerConfigurations': [{'triggerEvents': ['DeploymentStart | ' 'DeploymentSuccess | ' 'DeploymentFailure | ' 'DeploymentStop | InstanceStart ' '| InstanceSuccess | ' 'InstanceFailure'], 'triggerName': 'string', 'triggerTargetArn': 'string'}]}
Changes information about an existing deployment group.
Request Syntax
client.update_deployment_group( applicationName='string', currentDeploymentGroupName='string', newDeploymentGroupName='string', deploymentConfigName='string', ec2TagFilters=[ { 'Key': 'string', 'Value': 'string', 'Type': 'KEY_ONLY'|'VALUE_ONLY'|'KEY_AND_VALUE' }, ], onPremisesInstanceTagFilters=[ { 'Key': 'string', 'Value': 'string', 'Type': 'KEY_ONLY'|'VALUE_ONLY'|'KEY_AND_VALUE' }, ], autoScalingGroups=[ 'string', ], serviceRoleArn='string', triggerConfigurations=[ { 'triggerName': 'string', 'triggerTargetArn': 'string', 'triggerEvents': [ 'DeploymentStart'|'DeploymentSuccess'|'DeploymentFailure'|'DeploymentStop'|'InstanceStart'|'InstanceSuccess'|'InstanceFailure', ] }, ] )
string
[REQUIRED]
The application name corresponding to the deployment group to update.
string
[REQUIRED]
The current name of the existing deployment group.
string
The new name of the deployment group, if you want to change it.
string
The replacement deployment configuration name to use, if you want to change it.
list
The replacement set of Amazon EC2 tags to filter on, if you want to change them. To keep the existing tags, enter their names. To remove tags, do not enter any tag names.
(dict) --
Information about a tag filter.
Key (string) --
The tag filter key.
Value (string) --
The tag filter value.
Type (string) --
The tag filter type:
KEY_ONLY: Key only.
VALUE_ONLY: Value only.
KEY_AND_VALUE: Key and value.
list
The replacement set of on-premises instance tags for filter on, if you want to change them. To keep the existing tags, enter their names. To remove tags, do not enter any tag names.
(dict) --
Information about an on-premises instance tag filter.
Key (string) --
The on-premises instance tag filter key.
Value (string) --
The on-premises instance tag filter value.
Type (string) --
The on-premises instance tag filter type:
KEY_ONLY: Key only.
VALUE_ONLY: Value only.
KEY_AND_VALUE: Key and value.
list
The replacement list of Auto Scaling groups to be included in the deployment group, if you want to change them. To keep the existing Auto Scaling groups, enter their names. To remove Auto Scaling groups, do not enter any Auto Scaling group names.
(string) --
string
A replacement service role's ARN, if you want to change it.
list
Information about triggers to change when the deployment group is updated.
(dict) --
Information about notification triggers for the deployment group.
triggerName (string) -- The name of the notification trigger.
triggerTargetArn (string) --
The arn of the Amazon Simple Notification Service topic through which notifications about deployment or instance events are sent.
triggerEvents (list) --
The event type or types for which notifications are triggered.
The following event type values are supported:
DEPLOYMENT_START
DEPLOYMENT_SUCCESS
DEPLOYMENT_FAILURE
DEPLOYMENT_STOP
INSTANCE_START
INSTANCE_SUCCESS
INSTANCE_FAILURE
(string) --
dict
Response Syntax
{ 'hooksNotCleanedUp': [ { 'name': 'string', 'hook': 'string' }, ] }
Response Structure
(dict) --
Represents the output of an update deployment group operation.
hooksNotCleanedUp (list) --
If the output contains no data, and the corresponding deployment group contained at least one Auto Scaling group, AWS CodeDeploy successfully removed all corresponding Auto Scaling lifecycle event hooks from the AWS account. If the output does contain data, AWS CodeDeploy could not remove some Auto Scaling lifecycle event hooks from the AWS account.
(dict) --
Information about an Auto Scaling group.
name (string) --
The Auto Scaling group name.
hook (string) --
An Auto Scaling lifecycle event hook name.