AWS AppConfig deploy action reference (original) (raw)

AWS AppConfig is a capability of AWS Systems Manager. AppConfig supports controlled deployments to applications of any size and includes built-in validation checks and monitoring. You can use AppConfig with applications hosted on Amazon EC2 instances, AWS Lambda, containers, mobile applications, or IoT devices.

The AppConfig deploy action is an AWS CodePipeline action that deploys configurations stored in your pipeline source location to a specified AppConfig application, environment, and configuration profile. It uses the preferences defined in an AppConfig deployment strategy.

Action type

Configuration parameters

Application

Required: Yes

The ID of the AWS AppConfig application with the details for your configuration and deployment.

Environment

Required: Yes

The ID of the AWS AppConfig environment where the configuration is deployed.

ConfigurationProfile

Required: Yes

The ID of the AWS AppConfig configuration profile to deploy.

InputArtifactConfigurationPath

Required: Yes

The file path of the configuration data within the input artifact to deploy.

DeploymentStrategy

Required: No

The AWS AppConfig deployment strategy to use for deployment.

Input artifacts

Output artifacts

Not applicable.

Service role permissions:AppConfig action

When CodePipeline runs the action, the CodePipeline service role policy requires the following permissions, appropriately scoped down to the resource level in order to maintain access with least privilege.

{
    "Version": "2012-10-17",
    "Statement": [
         {
            "Action": [
                "appconfig:StartDeployment",
                "appconfig:StopDeployment",
                "appconfig:GetDeployment"
            ],
            "Resource": [
             "arn:aws:appconfig:*:{{customerAccountId}}:application/[[Application]]",
             "arn:aws:appconfig:*:{{customerAccountId}}:application/[[Application]]/*",
             "arn:aws:appconfig:*:{{customerAccountId}}:deploymentstrategy/*"
         ],
            "Effect": "Allow"
        }
    ]
}

Example action configuration

YAML

name: Deploy
actions:
  - name: Deploy
    actionTypeId:
      category: Deploy
      owner: AWS
      provider: AppConfig
      version: '1'
    runOrder: 1
    configuration:
      Application: 2s2qv57
      ConfigurationProfile: PvjrpU
      DeploymentStrategy: frqt7ir
      Environment: 9tm27yd
      InputArtifactConfigurationPath: /
    outputArtifacts: []
    inputArtifacts:
      - name: SourceArtifact
    region: us-west-2
    namespace: DeployVariables

JSON

{
    "name": "Deploy",
    "actions": [
        {
            "name": "Deploy",
            "actionTypeId": {
                "category": "Deploy",
                "owner": "AWS",
                "provider": "AppConfig",
                "version": "1"
            },
            "runOrder": 1,
            "configuration": {
                "Application": "2s2qv57",
                "ConfigurationProfile": "PvjrpU",
                "DeploymentStrategy": "frqt7ir",
                "Environment": "9tm27yd",
                "InputArtifactConfigurationPath": "/"
            },
            "outputArtifacts": [],
            "inputArtifacts": [
                {
                    "name": "SourceArtifact"
                }
            ],
            "region": "us-west-2",
            "namespace": "DeployVariables"
        }
    ]
}

See also

The following related resources can help you as you work with this action.