import { Value } from '../../cloudformation/Value';
import { Tag } from '../Tag';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type ServerCertificateAttributes = {
    Arn: Attribute<string>;
};
export type ServerCertificate = AwsResource<'AWS::IAM::ServerCertificate', ServerCertificateProperties, ServerCertificateAttributes>;
/**
  Uploads a server certificate entity for the AWS account. The server certificate entity includes a public key certificate, a private key, and an optional certificate chain, which should all be PEM-encoded.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-servercertificate.html">the AWS Docs</a>
*/
export declare function serverCertificate(serverCertificateProps?: ServerCertificateProperties): ServerCertificate;
/**
  Uploads a server certificate entity for the AWS account. The server certificate entity includes a public key certificate, a private key, and an optional certificate chain, which should all be PEM-encoded.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-servercertificate.html">the AWS Docs</a>
*/
export interface ServerCertificateProperties {
    /** <code>CertificateBody</code>  <a name="cfn-iam-servercertificate-certificatebody"></a>
  The contents of the public key certificate.<br />
  
  Required: No<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>16384</code><br />
  
  Pattern: <code>[\u0009\u000A\u000D\u0020-\u00FF]+</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> */
    certificateBody?: Value<string>;
    /** <code>Path</code>  <a name="cfn-iam-servercertificate-path"></a>
  The path for the server certificate. For more information about paths, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html">IAM identifiers</a> in the
  IAM User Guide: br />
  This parameter is optional. If it is not included, it defaults to a slash (/). This parameter allows (through its <a href="http://wikipedia.org/wiki/regex">regex pattern</a>) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (<code>\u0021</code>) through the DEL character (<code>\u007F</code>), including most punctuation characters, digits, and upper and lowercased letters.<br />
  If you are uploading a server certificate specifically for use with Amazon CloudFront distributions, you must specify a path using the <code>path</code> parameter. The path must begin with <code>/cloudfront</code> and must include a trailing slash (for example, <code>/cloudfront/test/</code>).
  
  Required: No<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>512</code><br />
  
  Pattern: <code>(\u002F)|(\u002F[\u0021-\u007E]+\u002F)</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> */
    path?: Value<string>;
    /** <p> */
    privateKey?: Value<string>;
    /** <code>CertificateChain</code>  <a name="cfn-iam-servercertificate-certificatechain"></a>
  The contents of the public key certificate chain.<br />
  
  Required: No<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>2097152</code><br />
  
  Pattern: <code>[\u0009\u000A\u000D\u0020-\u00FF]+</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> */
    certificateChain?: Value<string>;
    /** <code>ServerCertificateName</code>  <a name="cfn-iam-servercertificate-servercertificatename"></a>
  The name for the server certificate. Do not include the path in this value. The name of the certificate cannot contain any spaces.<br />
  This parameter allows (through its <a href="http://wikipedia.org/wiki/regex">regex pattern</a>) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-<br />
  
  Required: No<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>128</code><br />
  
  Pattern: <code>[\w+=,.@-]+</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> */
    serverCertificateName?: Value<string>;
    /** <code>Tags</code>  <a name="cfn-iam-servercertificate-tags"></a>
  A list of tags that are attached to the server certificate. For more information about tagging, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html">Tagging IAM resources</a> in the
  IAM User Guide: br />
  
  Required: No<br />
  
  Maximum: <code>50</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?: Tag[];
}
