createExtensionAssociation method
When you create an extension or configure an Amazon Web Services authored
extension, you associate the extension with an AppConfig application,
environment, or configuration profile. For example, you can choose to run
the AppConfig deployment events to Amazon SNS Amazon Web
Services authored extension and receive notifications on an Amazon SNS
topic anytime a configuration deployment is started for a specific
application. Defining which extension to associate with an AppConfig
resource is called an extension association. An extension
association is a specified relationship between an extension and an
AppConfig resource, such as an application or a configuration profile. For
more information about extensions and associations, see Extending
workflows in the AppConfig User Guide.
May throw BadRequestException.
May throw InternalServerException.
May throw ResourceNotFoundException.
May throw ServiceQuotaExceededException.
Parameter extensionIdentifier :
The name, the ID, or the Amazon Resource Name (ARN) of the extension.
Parameter resourceIdentifier :
The ARN of an application, configuration profile, or environment.
Parameter extensionVersionNumber :
The version number of the extension. If not specified, AppConfig uses the
maximum version of the extension.
Parameter parameters :
The parameter names and values defined in the extensions. Extension
parameters marked Required must be entered for this field.
Parameter tags :
Adds one or more tags for the specified extension association. 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.
Implementation
Future<ExtensionAssociation> createExtensionAssociation({
required String extensionIdentifier,
required String resourceIdentifier,
int? extensionVersionNumber,
Map<String, String>? parameters,
Map<String, String>? tags,
}) async {
final $payload = <String, dynamic>{
'ExtensionIdentifier': extensionIdentifier,
'ResourceIdentifier': resourceIdentifier,
if (extensionVersionNumber != null)
'ExtensionVersionNumber': extensionVersionNumber,
if (parameters != null) 'Parameters': parameters,
if (tags != null) 'Tags': tags,
};
final response = await _protocol.send(
payload: $payload,
method: 'POST',
requestUri: '/extensionassociations',
exceptionFnMap: _exceptionFns,
);
return ExtensionAssociation.fromJson(response);
}