Amazon AppConfig

2024/10/24 - Amazon AppConfig - 8 updated api methods

Changes  This release improves deployment safety by granting customers the ability to REVERT completed deployments, to the last known good state.In the StopDeployment API revert case the status of a COMPLETE deployment will be REVERTED. AppConfig only allows a revert within 72 hours of deployment completion.

CreateEnvironment (updated) Link ¶
Changes (response)
{'State': {'REVERTED'}}

Creates an environment. For each application, you define one or more environments. An environment is a deployment group of AppConfig targets, such as applications in a Beta or Production environment. You can also define environments for application subcomponents such as the Web , Mobile and Back-end components for your application. You can configure Amazon CloudWatch alarms for each environment. The system monitors alarms during a configuration deployment. If an alarm is triggered, the system rolls back the configuration.

See also: AWS API Documentation

Request Syntax

client.create_environment(
    ApplicationId='string',
    Name='string',
    Description='string',
    Monitors=[
        {
            'AlarmArn': 'string',
            'AlarmRoleArn': 'string'
        },
    ],
    Tags={
        'string': 'string'
    }
)
type ApplicationId

string

param ApplicationId

[REQUIRED]

The application ID.

type Name

string

param Name

[REQUIRED]

A name for the environment.

type Description

string

param Description

A description of the environment.

type Monitors

list

param Monitors

Amazon CloudWatch alarms to monitor during the deployment process.

  • (dict) --

    Amazon CloudWatch alarms to monitor during the deployment process.

    • AlarmArn (string) -- [REQUIRED]

      Amazon Resource Name (ARN) of the Amazon CloudWatch alarm.

    • AlarmRoleArn (string) --

      ARN of an Identity and Access Management (IAM) role for AppConfig to monitor AlarmArn .

type Tags

dict

param Tags

Metadata to assign to the environment. Tags help organize and categorize your AppConfig resources. Each tag consists of a key and an optional value, both of which you define.

  • (string) --

    • (string) --

rtype

dict

returns

Response Syntax

{
    'ApplicationId': 'string',
    'Id': 'string',
    'Name': 'string',
    'Description': 'string',
    'State': 'READY_FOR_DEPLOYMENT'|'DEPLOYING'|'ROLLING_BACK'|'ROLLED_BACK'|'REVERTED',
    'Monitors': [
        {
            'AlarmArn': 'string',
            'AlarmRoleArn': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • ApplicationId (string) --

      The application ID.

    • Id (string) --

      The environment ID.

    • Name (string) --

      The name of the environment.

    • Description (string) --

      The description of the environment.

    • State (string) --

      The state of the environment. An environment can be in one of the following states: READY_FOR_DEPLOYMENT , DEPLOYING , ROLLING_BACK , or ROLLED_BACK

    • Monitors (list) --

      Amazon CloudWatch alarms monitored during the deployment.

      • (dict) --

        Amazon CloudWatch alarms to monitor during the deployment process.

        • AlarmArn (string) --

          Amazon Resource Name (ARN) of the Amazon CloudWatch alarm.

        • AlarmRoleArn (string) --

          ARN of an Identity and Access Management (IAM) role for AppConfig to monitor AlarmArn .

GetDeployment (updated) Link ¶
Changes (response)
{'EventLog': {'EventType': {'REVERT_COMPLETED'}}, 'State': {'REVERTED'}}

Retrieves information about a configuration deployment.

See also: AWS API Documentation

Request Syntax

client.get_deployment(
    ApplicationId='string',
    EnvironmentId='string',
    DeploymentNumber=123
)
type ApplicationId

string

param ApplicationId

[REQUIRED]

The ID of the application that includes the deployment you want to get.

type EnvironmentId

string

param EnvironmentId

[REQUIRED]

The ID of the environment that includes the deployment you want to get.

type DeploymentNumber

integer

param DeploymentNumber

[REQUIRED]

The sequence number of the deployment.

rtype

dict

returns

Response Syntax

{
    'ApplicationId': 'string',
    'EnvironmentId': 'string',
    'DeploymentStrategyId': 'string',
    'ConfigurationProfileId': 'string',
    'DeploymentNumber': 123,
    'ConfigurationName': 'string',
    'ConfigurationLocationUri': 'string',
    'ConfigurationVersion': 'string',
    'Description': 'string',
    'DeploymentDurationInMinutes': 123,
    'GrowthType': 'LINEAR'|'EXPONENTIAL',
    'GrowthFactor': ...,
    'FinalBakeTimeInMinutes': 123,
    'State': 'BAKING'|'VALIDATING'|'DEPLOYING'|'COMPLETE'|'ROLLING_BACK'|'ROLLED_BACK'|'REVERTED',
    'EventLog': [
        {
            'EventType': 'PERCENTAGE_UPDATED'|'ROLLBACK_STARTED'|'ROLLBACK_COMPLETED'|'BAKE_TIME_STARTED'|'DEPLOYMENT_STARTED'|'DEPLOYMENT_COMPLETED'|'REVERT_COMPLETED',
            'TriggeredBy': 'USER'|'APPCONFIG'|'CLOUDWATCH_ALARM'|'INTERNAL_ERROR',
            'Description': 'string',
            'ActionInvocations': [
                {
                    'ExtensionIdentifier': 'string',
                    'ActionName': 'string',
                    'Uri': 'string',
                    'RoleArn': 'string',
                    'ErrorMessage': 'string',
                    'ErrorCode': 'string',
                    'InvocationId': 'string'
                },
            ],
            'OccurredAt': datetime(2015, 1, 1)
        },
    ],
    'PercentageComplete': ...,
    'StartedAt': datetime(2015, 1, 1),
    'CompletedAt': datetime(2015, 1, 1),
    'AppliedExtensions': [
        {
            'ExtensionId': 'string',
            'ExtensionAssociationId': 'string',
            'VersionNumber': 123,
            'Parameters': {
                'string': 'string'
            }
        },
    ],
    'KmsKeyArn': 'string',
    'KmsKeyIdentifier': 'string',
    'VersionLabel': 'string'
}

Response Structure

  • (dict) --

    • ApplicationId (string) --

      The ID of the application that was deployed.

    • EnvironmentId (string) --

      The ID of the environment that was deployed.

    • DeploymentStrategyId (string) --

      The ID of the deployment strategy that was deployed.

    • ConfigurationProfileId (string) --

      The ID of the configuration profile that was deployed.

    • DeploymentNumber (integer) --

      The sequence number of the deployment.

    • ConfigurationName (string) --

      The name of the configuration.

    • ConfigurationLocationUri (string) --

      Information about the source location of the configuration.

    • ConfigurationVersion (string) --

      The configuration version that was deployed.

    • Description (string) --

      The description of the deployment.

    • DeploymentDurationInMinutes (integer) --

      Total amount of time the deployment lasted.

    • GrowthType (string) --

      The algorithm used to define how percentage grew over time.

    • GrowthFactor (float) --

      The percentage of targets to receive a deployed configuration during each interval.

    • FinalBakeTimeInMinutes (integer) --

      The amount of time that AppConfig monitored for alarms before considering the deployment to be complete and no longer eligible for automatic rollback.

    • State (string) --

      The state of the deployment.

    • EventLog (list) --

      A list containing all events related to a deployment. The most recent events are displayed first.

      • (dict) --

        An object that describes a deployment event.

        • EventType (string) --

          The type of deployment event. Deployment event types include the start, stop, or completion of a deployment; a percentage update; the start or stop of a bake period; and the start or completion of a rollback.

        • TriggeredBy (string) --

          The entity that triggered the deployment event. Events can be triggered by a user, AppConfig, an Amazon CloudWatch alarm, or an internal error.

        • Description (string) --

          A description of the deployment event. Descriptions include, but are not limited to, the following:

          • The Amazon Web Services account or the Amazon CloudWatch alarm ARN that initiated a rollback.

          • The percentage of hosts that received the deployment.

          • A recommendation to attempt a new deployment (in the case of an internal error).

        • ActionInvocations (list) --

          The list of extensions that were invoked as part of the deployment.

          • (dict) --

            An extension that was invoked as part of a deployment event.

            • ExtensionIdentifier (string) --

              The name, the ID, or the Amazon Resource Name (ARN) of the extension.

            • ActionName (string) --

              The name of the action.

            • Uri (string) --

              The extension URI associated to the action point in the extension definition. The URI can be an Amazon Resource Name (ARN) for one of the following: an Lambda function, an Amazon Simple Queue Service queue, an Amazon Simple Notification Service topic, or the Amazon EventBridge default event bus.

            • RoleArn (string) --

              An Amazon Resource Name (ARN) for an Identity and Access Management assume role.

            • ErrorMessage (string) --

              The error message when an extension invocation fails.

            • ErrorCode (string) --

              The error code when an extension invocation fails.

            • InvocationId (string) --

              A system-generated ID for this invocation.

        • OccurredAt (datetime) --

          The date and time the event occurred.

    • PercentageComplete (float) --

      The percentage of targets for which the deployment is available.

    • StartedAt (datetime) --

      The time the deployment started.

    • CompletedAt (datetime) --

      The time the deployment completed.

    • AppliedExtensions (list) --

      A list of extensions that were processed as part of the deployment. The extensions that were previously associated to the configuration profile, environment, or the application when StartDeployment was called.

      • (dict) --

        An extension that was invoked during a deployment.

        • ExtensionId (string) --

          The system-generated ID of the extension.

        • ExtensionAssociationId (string) --

          The system-generated ID for the association.

        • VersionNumber (integer) --

          The extension version number.

        • Parameters (dict) --

          One or more parameters for the actions called by the extension.

          • (string) --

            • (string) --

    • KmsKeyArn (string) --

      The Amazon Resource Name of the Key Management Service key used to encrypt configuration data. You can encrypt secrets stored in Secrets Manager, Amazon Simple Storage Service (Amazon S3) objects encrypted with SSE-KMS, or secure string parameters stored in Amazon Web Services Systems Manager Parameter Store.

    • KmsKeyIdentifier (string) --

      The Key Management Service key identifier (key ID, key alias, or key ARN) provided when the resource was created or updated.

    • VersionLabel (string) --

      A user-defined label for an AppConfig hosted configuration version.

GetEnvironment (updated) Link ¶
Changes (response)
{'State': {'REVERTED'}}

Retrieves information about an environment. An environment is a deployment group of AppConfig applications, such as applications in a Production environment or in an EU_Region environment. Each configuration deployment targets an environment. You can enable one or more Amazon CloudWatch alarms for an environment. If an alarm is triggered during a deployment, AppConfig roles back the configuration.

See also: AWS API Documentation

Request Syntax

client.get_environment(
    ApplicationId='string',
    EnvironmentId='string'
)
type ApplicationId

string

param ApplicationId

[REQUIRED]

The ID of the application that includes the environment you want to get.

type EnvironmentId

string

param EnvironmentId

[REQUIRED]

The ID of the environment that you want to get.

rtype

dict

returns

Response Syntax

{
    'ApplicationId': 'string',
    'Id': 'string',
    'Name': 'string',
    'Description': 'string',
    'State': 'READY_FOR_DEPLOYMENT'|'DEPLOYING'|'ROLLING_BACK'|'ROLLED_BACK'|'REVERTED',
    'Monitors': [
        {
            'AlarmArn': 'string',
            'AlarmRoleArn': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • ApplicationId (string) --

      The application ID.

    • Id (string) --

      The environment ID.

    • Name (string) --

      The name of the environment.

    • Description (string) --

      The description of the environment.

    • State (string) --

      The state of the environment. An environment can be in one of the following states: READY_FOR_DEPLOYMENT , DEPLOYING , ROLLING_BACK , or ROLLED_BACK

    • Monitors (list) --

      Amazon CloudWatch alarms monitored during the deployment.

      • (dict) --

        Amazon CloudWatch alarms to monitor during the deployment process.

        • AlarmArn (string) --

          Amazon Resource Name (ARN) of the Amazon CloudWatch alarm.

        • AlarmRoleArn (string) --

          ARN of an Identity and Access Management (IAM) role for AppConfig to monitor AlarmArn .

ListDeployments (updated) Link ¶
Changes (response)
{'Items': {'State': {'REVERTED'}}}

Lists the deployments for an environment in descending deployment number order.

See also: AWS API Documentation

Request Syntax

client.list_deployments(
    ApplicationId='string',
    EnvironmentId='string',
    MaxResults=123,
    NextToken='string'
)
type ApplicationId

string

param ApplicationId

[REQUIRED]

The application ID.

type EnvironmentId

string

param EnvironmentId

[REQUIRED]

The environment ID.

type MaxResults

integer

param MaxResults

The maximum number of items that may be returned for this call. If there are items that have not yet been returned, the response will include a non-null NextToken that you can provide in a subsequent call to get the next set of results.

type NextToken

string

param NextToken

The token returned by a prior call to this operation indicating the next set of results to be returned. If not specified, the operation will return the first set of results.

rtype

dict

returns

Response Syntax

{
    'Items': [
        {
            'DeploymentNumber': 123,
            'ConfigurationName': 'string',
            'ConfigurationVersion': 'string',
            'DeploymentDurationInMinutes': 123,
            'GrowthType': 'LINEAR'|'EXPONENTIAL',
            'GrowthFactor': ...,
            'FinalBakeTimeInMinutes': 123,
            'State': 'BAKING'|'VALIDATING'|'DEPLOYING'|'COMPLETE'|'ROLLING_BACK'|'ROLLED_BACK'|'REVERTED',
            'PercentageComplete': ...,
            'StartedAt': datetime(2015, 1, 1),
            'CompletedAt': datetime(2015, 1, 1),
            'VersionLabel': 'string'
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • Items (list) --

      The elements from this collection.

      • (dict) --

        Information about the deployment.

        • DeploymentNumber (integer) --

          The sequence number of the deployment.

        • ConfigurationName (string) --

          The name of the configuration.

        • ConfigurationVersion (string) --

          The version of the configuration.

        • DeploymentDurationInMinutes (integer) --

          Total amount of time the deployment lasted.

        • GrowthType (string) --

          The algorithm used to define how percentage grows over time.

        • GrowthFactor (float) --

          The percentage of targets to receive a deployed configuration during each interval.

        • FinalBakeTimeInMinutes (integer) --

          The amount of time that AppConfig monitors for alarms before considering the deployment to be complete and no longer eligible for automatic rollback.

        • State (string) --

          The state of the deployment.

        • PercentageComplete (float) --

          The percentage of targets for which the deployment is available.

        • StartedAt (datetime) --

          Time the deployment started.

        • CompletedAt (datetime) --

          Time the deployment completed.

        • VersionLabel (string) --

          A user-defined label for an AppConfig hosted configuration version.

    • NextToken (string) --

      The token for the next set of items to return. Use this token to get the next set of results.

ListEnvironments (updated) Link ¶
Changes (response)
{'Items': {'State': {'REVERTED'}}}

Lists the environments for an application.

See also: AWS API Documentation

Request Syntax

client.list_environments(
    ApplicationId='string',
    MaxResults=123,
    NextToken='string'
)
type ApplicationId

string

param ApplicationId

[REQUIRED]

The application ID.

type MaxResults

integer

param MaxResults

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

type NextToken

string

param NextToken

A token to start the list. Use this token to get the next set of results.

rtype

dict

returns

Response Syntax

{
    'Items': [
        {
            'ApplicationId': 'string',
            'Id': 'string',
            'Name': 'string',
            'Description': 'string',
            'State': 'READY_FOR_DEPLOYMENT'|'DEPLOYING'|'ROLLING_BACK'|'ROLLED_BACK'|'REVERTED',
            'Monitors': [
                {
                    'AlarmArn': 'string',
                    'AlarmRoleArn': 'string'
                },
            ]
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • Items (list) --

      The elements from this collection.

      • (dict) --

        • ApplicationId (string) --

          The application ID.

        • Id (string) --

          The environment ID.

        • Name (string) --

          The name of the environment.

        • Description (string) --

          The description of the environment.

        • State (string) --

          The state of the environment. An environment can be in one of the following states: READY_FOR_DEPLOYMENT , DEPLOYING , ROLLING_BACK , or ROLLED_BACK

        • Monitors (list) --

          Amazon CloudWatch alarms monitored during the deployment.

          • (dict) --

            Amazon CloudWatch alarms to monitor during the deployment process.

            • AlarmArn (string) --

              Amazon Resource Name (ARN) of the Amazon CloudWatch alarm.

            • AlarmRoleArn (string) --

              ARN of an Identity and Access Management (IAM) role for AppConfig to monitor AlarmArn .

    • NextToken (string) --

      The token for the next set of items to return. Use this token to get the next set of results.

StartDeployment (updated) Link ¶
Changes (response)
{'EventLog': {'EventType': {'REVERT_COMPLETED'}}, 'State': {'REVERTED'}}

Starts a deployment.

See also: AWS API Documentation

Request Syntax

client.start_deployment(
    ApplicationId='string',
    EnvironmentId='string',
    DeploymentStrategyId='string',
    ConfigurationProfileId='string',
    ConfigurationVersion='string',
    Description='string',
    Tags={
        'string': 'string'
    },
    KmsKeyIdentifier='string',
    DynamicExtensionParameters={
        'string': 'string'
    }
)
type ApplicationId

string

param ApplicationId

[REQUIRED]

The application ID.

type EnvironmentId

string

param EnvironmentId

[REQUIRED]

The environment ID.

type DeploymentStrategyId

string

param DeploymentStrategyId

[REQUIRED]

The deployment strategy ID.

type ConfigurationProfileId

string

param ConfigurationProfileId

[REQUIRED]

The configuration profile ID.

type ConfigurationVersion

string

param ConfigurationVersion

[REQUIRED]

The configuration version to deploy. If deploying an AppConfig hosted configuration version, you can specify either the version number or version label. For all other configurations, you must specify the version number.

type Description

string

param Description

A description of the deployment.

type Tags

dict

param Tags

Metadata to assign to the deployment. Tags help organize and categorize your AppConfig resources. Each tag consists of a key and an optional value, both of which you define.

  • (string) --

    • (string) --

type KmsKeyIdentifier

string

param KmsKeyIdentifier

The KMS key identifier (key ID, key alias, or key ARN). AppConfig uses this ID to encrypt the configuration data using a customer managed key.

type DynamicExtensionParameters

dict

param DynamicExtensionParameters

A map of dynamic extension parameter names to values to pass to associated extensions with PRE_START_DEPLOYMENT actions.

  • (string) --

    • (string) --

rtype

dict

returns

Response Syntax

{
    'ApplicationId': 'string',
    'EnvironmentId': 'string',
    'DeploymentStrategyId': 'string',
    'ConfigurationProfileId': 'string',
    'DeploymentNumber': 123,
    'ConfigurationName': 'string',
    'ConfigurationLocationUri': 'string',
    'ConfigurationVersion': 'string',
    'Description': 'string',
    'DeploymentDurationInMinutes': 123,
    'GrowthType': 'LINEAR'|'EXPONENTIAL',
    'GrowthFactor': ...,
    'FinalBakeTimeInMinutes': 123,
    'State': 'BAKING'|'VALIDATING'|'DEPLOYING'|'COMPLETE'|'ROLLING_BACK'|'ROLLED_BACK'|'REVERTED',
    'EventLog': [
        {
            'EventType': 'PERCENTAGE_UPDATED'|'ROLLBACK_STARTED'|'ROLLBACK_COMPLETED'|'BAKE_TIME_STARTED'|'DEPLOYMENT_STARTED'|'DEPLOYMENT_COMPLETED'|'REVERT_COMPLETED',
            'TriggeredBy': 'USER'|'APPCONFIG'|'CLOUDWATCH_ALARM'|'INTERNAL_ERROR',
            'Description': 'string',
            'ActionInvocations': [
                {
                    'ExtensionIdentifier': 'string',
                    'ActionName': 'string',
                    'Uri': 'string',
                    'RoleArn': 'string',
                    'ErrorMessage': 'string',
                    'ErrorCode': 'string',
                    'InvocationId': 'string'
                },
            ],
            'OccurredAt': datetime(2015, 1, 1)
        },
    ],
    'PercentageComplete': ...,
    'StartedAt': datetime(2015, 1, 1),
    'CompletedAt': datetime(2015, 1, 1),
    'AppliedExtensions': [
        {
            'ExtensionId': 'string',
            'ExtensionAssociationId': 'string',
            'VersionNumber': 123,
            'Parameters': {
                'string': 'string'
            }
        },
    ],
    'KmsKeyArn': 'string',
    'KmsKeyIdentifier': 'string',
    'VersionLabel': 'string'
}

Response Structure

  • (dict) --

    • ApplicationId (string) --

      The ID of the application that was deployed.

    • EnvironmentId (string) --

      The ID of the environment that was deployed.

    • DeploymentStrategyId (string) --

      The ID of the deployment strategy that was deployed.

    • ConfigurationProfileId (string) --

      The ID of the configuration profile that was deployed.

    • DeploymentNumber (integer) --

      The sequence number of the deployment.

    • ConfigurationName (string) --

      The name of the configuration.

    • ConfigurationLocationUri (string) --

      Information about the source location of the configuration.

    • ConfigurationVersion (string) --

      The configuration version that was deployed.

    • Description (string) --

      The description of the deployment.

    • DeploymentDurationInMinutes (integer) --

      Total amount of time the deployment lasted.

    • GrowthType (string) --

      The algorithm used to define how percentage grew over time.

    • GrowthFactor (float) --

      The percentage of targets to receive a deployed configuration during each interval.

    • FinalBakeTimeInMinutes (integer) --

      The amount of time that AppConfig monitored for alarms before considering the deployment to be complete and no longer eligible for automatic rollback.

    • State (string) --

      The state of the deployment.

    • EventLog (list) --

      A list containing all events related to a deployment. The most recent events are displayed first.

      • (dict) --

        An object that describes a deployment event.

        • EventType (string) --

          The type of deployment event. Deployment event types include the start, stop, or completion of a deployment; a percentage update; the start or stop of a bake period; and the start or completion of a rollback.

        • TriggeredBy (string) --

          The entity that triggered the deployment event. Events can be triggered by a user, AppConfig, an Amazon CloudWatch alarm, or an internal error.

        • Description (string) --

          A description of the deployment event. Descriptions include, but are not limited to, the following:

          • The Amazon Web Services account or the Amazon CloudWatch alarm ARN that initiated a rollback.

          • The percentage of hosts that received the deployment.

          • A recommendation to attempt a new deployment (in the case of an internal error).

        • ActionInvocations (list) --

          The list of extensions that were invoked as part of the deployment.

          • (dict) --

            An extension that was invoked as part of a deployment event.

            • ExtensionIdentifier (string) --

              The name, the ID, or the Amazon Resource Name (ARN) of the extension.

            • ActionName (string) --

              The name of the action.

            • Uri (string) --

              The extension URI associated to the action point in the extension definition. The URI can be an Amazon Resource Name (ARN) for one of the following: an Lambda function, an Amazon Simple Queue Service queue, an Amazon Simple Notification Service topic, or the Amazon EventBridge default event bus.

            • RoleArn (string) --

              An Amazon Resource Name (ARN) for an Identity and Access Management assume role.

            • ErrorMessage (string) --

              The error message when an extension invocation fails.

            • ErrorCode (string) --

              The error code when an extension invocation fails.

            • InvocationId (string) --

              A system-generated ID for this invocation.

        • OccurredAt (datetime) --

          The date and time the event occurred.

    • PercentageComplete (float) --

      The percentage of targets for which the deployment is available.

    • StartedAt (datetime) --

      The time the deployment started.

    • CompletedAt (datetime) --

      The time the deployment completed.

    • AppliedExtensions (list) --

      A list of extensions that were processed as part of the deployment. The extensions that were previously associated to the configuration profile, environment, or the application when StartDeployment was called.

      • (dict) --

        An extension that was invoked during a deployment.

        • ExtensionId (string) --

          The system-generated ID of the extension.

        • ExtensionAssociationId (string) --

          The system-generated ID for the association.

        • VersionNumber (integer) --

          The extension version number.

        • Parameters (dict) --

          One or more parameters for the actions called by the extension.

          • (string) --

            • (string) --

    • KmsKeyArn (string) --

      The Amazon Resource Name of the Key Management Service key used to encrypt configuration data. You can encrypt secrets stored in Secrets Manager, Amazon Simple Storage Service (Amazon S3) objects encrypted with SSE-KMS, or secure string parameters stored in Amazon Web Services Systems Manager Parameter Store.

    • KmsKeyIdentifier (string) --

      The Key Management Service key identifier (key ID, key alias, or key ARN) provided when the resource was created or updated.

    • VersionLabel (string) --

      A user-defined label for an AppConfig hosted configuration version.

StopDeployment (updated) Link ¶
Changes (request, response)
Request
{'AllowRevert': 'boolean'}
Response
{'EventLog': {'EventType': {'REVERT_COMPLETED'}}, 'State': {'REVERTED'}}

Stops a deployment. This API action works only on deployments that have a status of DEPLOYING , unless an AllowRevert parameter is supplied. If the AllowRevert parameter is supplied, the status of an in-progress deployment will be ROLLED_BACK . The status of a completed deployment will be REVERTED . AppConfig only allows a revert within 72 hours of deployment completion.

See also: AWS API Documentation

Request Syntax

client.stop_deployment(
    ApplicationId='string',
    EnvironmentId='string',
    DeploymentNumber=123,
    AllowRevert=True|False
)
type ApplicationId

string

param ApplicationId

[REQUIRED]

The application ID.

type EnvironmentId

string

param EnvironmentId

[REQUIRED]

The environment ID.

type DeploymentNumber

integer

param DeploymentNumber

[REQUIRED]

The sequence number of the deployment.

type AllowRevert

boolean

param AllowRevert

A Boolean that enables AppConfig to rollback a COMPLETED deployment to the previous configuration version. This action moves the deployment to a status of REVERTED .

rtype

dict

returns

Response Syntax

{
    'ApplicationId': 'string',
    'EnvironmentId': 'string',
    'DeploymentStrategyId': 'string',
    'ConfigurationProfileId': 'string',
    'DeploymentNumber': 123,
    'ConfigurationName': 'string',
    'ConfigurationLocationUri': 'string',
    'ConfigurationVersion': 'string',
    'Description': 'string',
    'DeploymentDurationInMinutes': 123,
    'GrowthType': 'LINEAR'|'EXPONENTIAL',
    'GrowthFactor': ...,
    'FinalBakeTimeInMinutes': 123,
    'State': 'BAKING'|'VALIDATING'|'DEPLOYING'|'COMPLETE'|'ROLLING_BACK'|'ROLLED_BACK'|'REVERTED',
    'EventLog': [
        {
            'EventType': 'PERCENTAGE_UPDATED'|'ROLLBACK_STARTED'|'ROLLBACK_COMPLETED'|'BAKE_TIME_STARTED'|'DEPLOYMENT_STARTED'|'DEPLOYMENT_COMPLETED'|'REVERT_COMPLETED',
            'TriggeredBy': 'USER'|'APPCONFIG'|'CLOUDWATCH_ALARM'|'INTERNAL_ERROR',
            'Description': 'string',
            'ActionInvocations': [
                {
                    'ExtensionIdentifier': 'string',
                    'ActionName': 'string',
                    'Uri': 'string',
                    'RoleArn': 'string',
                    'ErrorMessage': 'string',
                    'ErrorCode': 'string',
                    'InvocationId': 'string'
                },
            ],
            'OccurredAt': datetime(2015, 1, 1)
        },
    ],
    'PercentageComplete': ...,
    'StartedAt': datetime(2015, 1, 1),
    'CompletedAt': datetime(2015, 1, 1),
    'AppliedExtensions': [
        {
            'ExtensionId': 'string',
            'ExtensionAssociationId': 'string',
            'VersionNumber': 123,
            'Parameters': {
                'string': 'string'
            }
        },
    ],
    'KmsKeyArn': 'string',
    'KmsKeyIdentifier': 'string',
    'VersionLabel': 'string'
}

Response Structure

  • (dict) --

    • ApplicationId (string) --

      The ID of the application that was deployed.

    • EnvironmentId (string) --

      The ID of the environment that was deployed.

    • DeploymentStrategyId (string) --

      The ID of the deployment strategy that was deployed.

    • ConfigurationProfileId (string) --

      The ID of the configuration profile that was deployed.

    • DeploymentNumber (integer) --

      The sequence number of the deployment.

    • ConfigurationName (string) --

      The name of the configuration.

    • ConfigurationLocationUri (string) --

      Information about the source location of the configuration.

    • ConfigurationVersion (string) --

      The configuration version that was deployed.

    • Description (string) --

      The description of the deployment.

    • DeploymentDurationInMinutes (integer) --

      Total amount of time the deployment lasted.

    • GrowthType (string) --

      The algorithm used to define how percentage grew over time.

    • GrowthFactor (float) --

      The percentage of targets to receive a deployed configuration during each interval.

    • FinalBakeTimeInMinutes (integer) --

      The amount of time that AppConfig monitored for alarms before considering the deployment to be complete and no longer eligible for automatic rollback.

    • State (string) --

      The state of the deployment.

    • EventLog (list) --

      A list containing all events related to a deployment. The most recent events are displayed first.

      • (dict) --

        An object that describes a deployment event.

        • EventType (string) --

          The type of deployment event. Deployment event types include the start, stop, or completion of a deployment; a percentage update; the start or stop of a bake period; and the start or completion of a rollback.

        • TriggeredBy (string) --

          The entity that triggered the deployment event. Events can be triggered by a user, AppConfig, an Amazon CloudWatch alarm, or an internal error.

        • Description (string) --

          A description of the deployment event. Descriptions include, but are not limited to, the following:

          • The Amazon Web Services account or the Amazon CloudWatch alarm ARN that initiated a rollback.

          • The percentage of hosts that received the deployment.

          • A recommendation to attempt a new deployment (in the case of an internal error).

        • ActionInvocations (list) --

          The list of extensions that were invoked as part of the deployment.

          • (dict) --

            An extension that was invoked as part of a deployment event.

            • ExtensionIdentifier (string) --

              The name, the ID, or the Amazon Resource Name (ARN) of the extension.

            • ActionName (string) --

              The name of the action.

            • Uri (string) --

              The extension URI associated to the action point in the extension definition. The URI can be an Amazon Resource Name (ARN) for one of the following: an Lambda function, an Amazon Simple Queue Service queue, an Amazon Simple Notification Service topic, or the Amazon EventBridge default event bus.

            • RoleArn (string) --

              An Amazon Resource Name (ARN) for an Identity and Access Management assume role.

            • ErrorMessage (string) --

              The error message when an extension invocation fails.

            • ErrorCode (string) --

              The error code when an extension invocation fails.

            • InvocationId (string) --

              A system-generated ID for this invocation.

        • OccurredAt (datetime) --

          The date and time the event occurred.

    • PercentageComplete (float) --

      The percentage of targets for which the deployment is available.

    • StartedAt (datetime) --

      The time the deployment started.

    • CompletedAt (datetime) --

      The time the deployment completed.

    • AppliedExtensions (list) --

      A list of extensions that were processed as part of the deployment. The extensions that were previously associated to the configuration profile, environment, or the application when StartDeployment was called.

      • (dict) --

        An extension that was invoked during a deployment.

        • ExtensionId (string) --

          The system-generated ID of the extension.

        • ExtensionAssociationId (string) --

          The system-generated ID for the association.

        • VersionNumber (integer) --

          The extension version number.

        • Parameters (dict) --

          One or more parameters for the actions called by the extension.

          • (string) --

            • (string) --

    • KmsKeyArn (string) --

      The Amazon Resource Name of the Key Management Service key used to encrypt configuration data. You can encrypt secrets stored in Secrets Manager, Amazon Simple Storage Service (Amazon S3) objects encrypted with SSE-KMS, or secure string parameters stored in Amazon Web Services Systems Manager Parameter Store.

    • KmsKeyIdentifier (string) --

      The Key Management Service key identifier (key ID, key alias, or key ARN) provided when the resource was created or updated.

    • VersionLabel (string) --

      A user-defined label for an AppConfig hosted configuration version.

UpdateEnvironment (updated) Link ¶
Changes (response)
{'State': {'REVERTED'}}

Updates an environment.

See also: AWS API Documentation

Request Syntax

client.update_environment(
    ApplicationId='string',
    EnvironmentId='string',
    Name='string',
    Description='string',
    Monitors=[
        {
            'AlarmArn': 'string',
            'AlarmRoleArn': 'string'
        },
    ]
)
type ApplicationId

string

param ApplicationId

[REQUIRED]

The application ID.

type EnvironmentId

string

param EnvironmentId

[REQUIRED]

The environment ID.

type Name

string

param Name

The name of the environment.

type Description

string

param Description

A description of the environment.

type Monitors

list

param Monitors

Amazon CloudWatch alarms to monitor during the deployment process.

  • (dict) --

    Amazon CloudWatch alarms to monitor during the deployment process.

    • AlarmArn (string) -- [REQUIRED]

      Amazon Resource Name (ARN) of the Amazon CloudWatch alarm.

    • AlarmRoleArn (string) --

      ARN of an Identity and Access Management (IAM) role for AppConfig to monitor AlarmArn .

rtype

dict

returns

Response Syntax

{
    'ApplicationId': 'string',
    'Id': 'string',
    'Name': 'string',
    'Description': 'string',
    'State': 'READY_FOR_DEPLOYMENT'|'DEPLOYING'|'ROLLING_BACK'|'ROLLED_BACK'|'REVERTED',
    'Monitors': [
        {
            'AlarmArn': 'string',
            'AlarmRoleArn': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • ApplicationId (string) --

      The application ID.

    • Id (string) --

      The environment ID.

    • Name (string) --

      The name of the environment.

    • Description (string) --

      The description of the environment.

    • State (string) --

      The state of the environment. An environment can be in one of the following states: READY_FOR_DEPLOYMENT , DEPLOYING , ROLLING_BACK , or ROLLED_BACK

    • Monitors (list) --

      Amazon CloudWatch alarms monitored during the deployment.

      • (dict) --

        Amazon CloudWatch alarms to monitor during the deployment process.

        • AlarmArn (string) --

          Amazon Resource Name (ARN) of the Amazon CloudWatch alarm.

        • AlarmRoleArn (string) --

          ARN of an Identity and Access Management (IAM) role for AppConfig to monitor AlarmArn .