import { Value } from '../../cloudformation/Value';
import { Tag } from '../Tag';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type ExtensionAssociationAttributes = {
    ResourceArn: Attribute<string>;
    ExtensionArn: Attribute<string>;
    Id: Attribute<string>;
    Arn: Attribute<string>;
};
export type ExtensionAssociation = AwsResource<'AWS::AppConfig::ExtensionAssociation', ExtensionAssociationProperties, ExtensionAssociationAttributes>;
/**
  When you create an extension or configure an AWS authored extension, you associate the extension with an AWS AppConfig application, environment, or configuration profile. For example, you can choose to run the <code> AWS AppConfig deployment events to Amazon SNS</code> AWS 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 AWS AppConfig resource is called an <em>extension association</em>. An extension association is a specified relationship between an extension and an AWS AppConfig resource, such as an application or a configuration profile. For more information about extensions and associations, see <a href="https://docs.aws.amazon.com/appconfig/latest/userguide/working-with-appconfig-extensions.html">Working with AWS AppConfig extensions</a> in the * AWS AppConfig User Guide*.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-extensionassociation.html">the AWS Docs</a>
*/
export declare function extensionAssociation(extensionAssociationProps?: ExtensionAssociationProperties): ExtensionAssociation;
/**
  When you create an extension or configure an AWS authored extension, you associate the extension with an AWS AppConfig application, environment, or configuration profile. For example, you can choose to run the <code> AWS AppConfig deployment events to Amazon SNS</code> AWS 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 AWS AppConfig resource is called an <em>extension association</em>. An extension association is a specified relationship between an extension and an AWS AppConfig resource, such as an application or a configuration profile. For more information about extensions and associations, see <a href="https://docs.aws.amazon.com/appconfig/latest/userguide/working-with-appconfig-extensions.html">Working with AWS AppConfig extensions</a> in the * AWS AppConfig User Guide*.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-extensionassociation.html">the AWS Docs</a>
*/
export interface ExtensionAssociationProperties {
    /** <code>ResourceIdentifier</code>  <a name="cfn-appconfig-extensionassociation-resourceidentifier"></a>
  The ARN of an application, configuration profile, or environment.<br />
  
  Required: No<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>2048</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    resourceIdentifier?: Value<string>;
    /** <code>Parameters</code>  <a name="cfn-appconfig-extensionassociation-parameters"></a>
  The parameter names and values defined in the extensions. Extension parameters marked <code>Required</code> must be entered for this field.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    parameters?: Value<{
        [key: string]: Value<string>;
    }>;
    /** <code>ExtensionIdentifier</code>  <a name="cfn-appconfig-extensionassociation-extensionidentifier"></a>
  The name, the ID, or the Amazon Resource Name (ARN) of the extension.<br />
  
  Required: No<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>2048</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    extensionIdentifier?: Value<string>;
    /** <code>ExtensionVersionNumber</code>  <a name="cfn-appconfig-extensionassociation-extensionversionnumber"></a>
  The version number of the extension. If not specified, AWS AppConfig uses the maximum version of the extension.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    extensionVersionNumber?: Value<number>;
    /** <code>Tags</code>  <a name="cfn-appconfig-extensionassociation-tags"></a>
  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.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    tags?: Tag[];
}
