import { Value } from '../../cloudformation/Value';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type ParameterAttributes = {
    Type: Attribute<string>;
    Value: Attribute<string>;
};
export type Parameter = AwsResource<'AWS::SSM::Parameter', ParameterProperties, ParameterAttributes>;
/**
  The <code>AWS::SSM::Parameter</code> resource creates an SSM parameter in AWS Systems Manager Parameter Store.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html">the AWS Docs</a>
*/
export declare function parameter(parameterProps: ParameterProperties): Parameter;
/**
  The <code>AWS::SSM::Parameter</code> resource creates an SSM parameter in AWS Systems Manager Parameter Store.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html">the AWS Docs</a>
*/
export interface ParameterProperties {
    /** <code>Type</code>  <a name="cfn-ssm-parameter-type"></a>
  The type of parameter.<br />
  AWS CloudFormation doesn’t support creating a <code>SecureString</code> parameter type.
  
  Allowed Values: String | StringList<br />
  
  Required: Yes<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> */
    type: Value<string>;
    /** <code>Description</code>  <a name="cfn-ssm-parameter-description"></a>
  Information about the parameter.<br />
  
  Required: No<br />
  
  Minimum: <code>0</code><br />
  
  Maximum: <code>1024</code><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> */
    description?: Value<string>;
    /** <code>Policies</code>  <a name="cfn-ssm-parameter-policies"></a>
  Information about the policies assigned to a parameter.<br />
  <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-policies.html">Assigning parameter policies</a> in the * AWS Systems Manager User Guide*.<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> */
    policies?: Value<string>;
    /** <code>AllowedPattern</code>  <a name="cfn-ssm-parameter-allowedpattern"></a>
  A regular expression used to validate the parameter value. For example, for String types with values restricted to numbers, you can specify the following: <code>AllowedPattern=^\d+$</code><br />
  
  Required: No<br />
  
  Minimum: <code>0</code><br />
  
  Maximum: <code>1024</code><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> */
    allowedPattern?: Value<string>;
    /** <code>Tier</code>  <a name="cfn-ssm-parameter-tier"></a>
  The parameter tier.<br />
  
  Required: No<br />
  
  Allowed values: <code>Advanced | Intelligent-Tiering | Standard</code><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> */
    tier?: Value<'Advanced' | 'Intelligent-Tiering' | 'Standard'>;
    /** <code>Value</code>  <a name="cfn-ssm-parameter-value"></a>
  The parameter value.<br />
  If type is <code>StringList</code>, the system returns a comma-separated string with no spaces between commas in the <code>Value</code> field.
  
  Required: Yes<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> */
    value: Value<string>;
    /** <code>DataType</code>  <a name="cfn-ssm-parameter-datatype"></a>
  The data type of the parameter, such as <code>text</code> or <code>aws:ec2:image</code>. The default is <code>text</code>.<br />
  
  Required: No<br />
  
  Minimum: <code>0</code><br />
  
  Maximum: <code>128</code><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> */
    dataType?: Value<string>;
    /** <code>Tags</code>  <a name="cfn-ssm-parameter-tags"></a>
  Optional metadata that you assign to a resource in the form of an arbitrary set of tags (key-value pairs). Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag a Systems Manager parameter to identify the type of resource to which it applies, the environment, or the type of configuration data referenced by the parameter.<br />
  
  Required: No<br />
  
  Maximum: <code>1000</code><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> */
    tags?: Value<{
        [key: string]: Value<string>;
    }>;
    /** <code>Name</code>  <a name="cfn-ssm-parameter-name"></a>
  The name of the parameter.<br />
  The maximum length constraint listed below includes capacity for additional system attributes that aren’t part of the name. The maximum length for a parameter name, including the full length of the parameter ARN, is 1011 characters. For example, the length of the following parameter name is 65 characters, not 20 characters: <code>arn:aws:ssm:us-east-2:111222333444:parameter/ExampleParameterName</code>
  
  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> */
    name?: Value<string>;
}
