Creates an AppConfig extension. An extension augments your ability to inject logic or behavior at different points during the AppConfig workflow of creating or deploying a configuration.
You can create your own extensions or use the Amazon Web Services-authored extensions provided by AppConfig. For most use-cases, to create your own extension, you must create an Lambda function to perform any computation and processing defined in the extension. For more information about extensions, see Working with AppConfig extensions in the AppConfig User Guide .
See also: AWS API Documentation
See ‘aws help’ for descriptions of global parameters.
create-extension
--name <value>
[--description <value>]
--actions <value>
[--parameters <value>]
[--tags <value>]
[--latest-version-number <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
--name
(string)
A name for the extension. Each extension name in your account must be unique. Extension versions use the same name.
--description
(string)
Information about the extension.
--actions
(map)
The actions defined in the extension.
key -> (string)
value -> (list)
(structure)
An action defines the tasks the extension performs during the AppConfig workflow. Each action includes an action point such as
ON_CREATE_HOSTED_CONFIGURATION
,PRE_DEPLOYMENT
, orON_DEPLOYMENT
. Each action also includes a name, a URI to an Lambda function, and an Amazon Resource Name (ARN) for an Identity and Access Management assume role. You specify the name, URI, and ARN for each action point defined in the extension. You can specify the following actions for an extension:
PRE_CREATE_HOSTED_CONFIGURATION_VERSION
PRE_START_DEPLOYMENT
ON_DEPLOYMENT_START
ON_DEPLOYMENT_STEP
ON_DEPLOYMENT_BAKING
ON_DEPLOYMENT_COMPLETE
ON_DEPLOYMENT_ROLLED_BACK
Name -> (string)
The action name.
Description -> (string)
Information about 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.
Shorthand Syntax:
KeyName1=[{Name=string,Description=string,Uri=string,RoleArn=string},{Name=string,Description=string,Uri=string,RoleArn=string}],KeyName2=[{Name=string,Description=string,Uri=string,RoleArn=string},{Name=string,Description=string,Uri=string,RoleArn=string}]
Where valid key names are:
PRE_CREATE_HOSTED_CONFIGURATION_VERSION
PRE_START_DEPLOYMENT
ON_DEPLOYMENT_START
ON_DEPLOYMENT_STEP
ON_DEPLOYMENT_BAKING
ON_DEPLOYMENT_COMPLETE
ON_DEPLOYMENT_ROLLED_BACK
JSON Syntax:
{"PRE_CREATE_HOSTED_CONFIGURATION_VERSION"|"PRE_START_DEPLOYMENT"|"ON_DEPLOYMENT_START"|"ON_DEPLOYMENT_STEP"|"ON_DEPLOYMENT_BAKING"|"ON_DEPLOYMENT_COMPLETE"|"ON_DEPLOYMENT_ROLLED_BACK": [
{
"Name": "string",
"Description": "string",
"Uri": "string",
"RoleArn": "string"
}
...
]
...}
--parameters
(map)
The parameters accepted by the extension. You specify parameter values when you associate the extension to an AppConfig resource by using the
CreateExtensionAssociation
API action. For Lambda extension actions, these parameters are included in the Lambda request object.key -> (string)
value -> (structure)
A value such as an Amazon Resource Name (ARN) or an Amazon Simple Notification Service topic entered in an extension when invoked. Parameter values are specified in an extension association. For more information about extensions, see Working with AppConfig extensions in the AppConfig User Guide .
Description -> (string)
Information about the parameter.
Required -> (boolean)
A parameter value must be specified in the extension association.
Shorthand Syntax:
KeyName1=Description=string,Required=boolean,KeyName2=Description=string,Required=boolean
JSON Syntax:
{"string": {
"Description": "string",
"Required": true|false
}
...}
--tags
(map)
Adds one or more tags for the specified extension. Tags are metadata that help you categorize resources in different ways, for example, by purpose, owner, or environment. Each tag consists of a key and an optional value, both of which you define.
key -> (string)
value -> (string)
Shorthand Syntax:
KeyName1=string,KeyName2=string
JSON Syntax:
{"string": "string"
...}
--latest-version-number
(integer)
You can omit this field when you create an extension. When you create a new version, specify the most recent current version number. For example, you create version 3, enter 2 for this field.
--cli-input-json
| --cli-input-yaml
(string)
Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton
. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml
.
--generate-cli-skeleton
(string)
Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input
, prints a sample input JSON that can be used as an argument for --cli-input-json
. Similarly, if provided yaml-input
it will print a sample input YAML that can be used with --cli-input-yaml
. If provided with the value output
, it validates the command inputs and returns a sample output JSON for that command. The generated JSON skeleton is not stable between versions of the AWS CLI and there are no backwards compatibility guarantees in the JSON skeleton generated.
See ‘aws help’ for descriptions of global parameters.
Id -> (string)
The system-generated ID of the extension.
Name -> (string)
The extension name.
VersionNumber -> (integer)
The extension version number.
Arn -> (string)
The system-generated Amazon Resource Name (ARN) for the extension.
Description -> (string)
Information about the extension.
Actions -> (map)
The actions defined in the extension.
key -> (string)
value -> (list)
(structure)
An action defines the tasks the extension performs during the AppConfig workflow. Each action includes an action point such as
ON_CREATE_HOSTED_CONFIGURATION
,PRE_DEPLOYMENT
, orON_DEPLOYMENT
. Each action also includes a name, a URI to an Lambda function, and an Amazon Resource Name (ARN) for an Identity and Access Management assume role. You specify the name, URI, and ARN for each action point defined in the extension. You can specify the following actions for an extension:
PRE_CREATE_HOSTED_CONFIGURATION_VERSION
PRE_START_DEPLOYMENT
ON_DEPLOYMENT_START
ON_DEPLOYMENT_STEP
ON_DEPLOYMENT_BAKING
ON_DEPLOYMENT_COMPLETE
ON_DEPLOYMENT_ROLLED_BACK
Name -> (string)
The action name.
Description -> (string)
Information about 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.
Parameters -> (map)
The parameters accepted by the extension. You specify parameter values when you associate the extension to an AppConfig resource by using the
CreateExtensionAssociation
API action. For Lambda extension actions, these parameters are included in the Lambda request object.key -> (string)
value -> (structure)
A value such as an Amazon Resource Name (ARN) or an Amazon Simple Notification Service topic entered in an extension when invoked. Parameter values are specified in an extension association. For more information about extensions, see Working with AppConfig extensions in the AppConfig User Guide .
Description -> (string)
Information about the parameter.
Required -> (boolean)
A parameter value must be specified in the extension association.