import { Value } from '../../cloudformation/Value';
import { Tag } from '../Tag';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type ServiceTemplateAttributes = {
    Arn: Attribute<string>;
};
export type ServiceTemplate = AwsResource<'AWS::Proton::ServiceTemplate', ServiceTemplateProperties, ServiceTemplateAttributes>;
/**
  Create a service template. The administrator creates a service template to define standardized infrastructure and an optional CI/CD service pipeline. Developers, in turn, select the service template from AWS Proton. If the selected service template includes a service pipeline definition, they provide a link to their source code repository. AWS Proton then deploys and manages the infrastructure defined by the selected service template. For more information, see <a href="https://docs.aws.amazon.com/proton/latest/userguide/ag-templates.html">AWS Proton templates</a> in the <em>AWS Proton User Guide</em>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-proton-servicetemplate.html">the AWS Docs</a>
*/
export declare function serviceTemplate(serviceTemplateProps?: ServiceTemplateProperties): ServiceTemplate;
/**
  Create a service template. The administrator creates a service template to define standardized infrastructure and an optional CI/CD service pipeline. Developers, in turn, select the service template from AWS Proton. If the selected service template includes a service pipeline definition, they provide a link to their source code repository. AWS Proton then deploys and manages the infrastructure defined by the selected service template. For more information, see <a href="https://docs.aws.amazon.com/proton/latest/userguide/ag-templates.html">AWS Proton templates</a> in the <em>AWS Proton User Guide</em>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-proton-servicetemplate.html">the AWS Docs</a>
*/
export interface ServiceTemplateProperties {
    /** <code>Description</code>  <a name="cfn-proton-servicetemplate-description"></a>
  A description of the service template.<br />
  
  Required: No<br />
  
  Minimum: <code>0</code><br />
  
  Maximum: <code>500</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>DisplayName</code>  <a name="cfn-proton-servicetemplate-displayname"></a>
  The service template name as displayed in the developer interface.<br />
  
  Required: No<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>100</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> */
    displayName?: Value<string>;
    /** <code>PipelineProvisioning</code>  <a name="cfn-proton-servicetemplate-pipelineprovisioning"></a>
  If <code>pipelineProvisioning</code> is <code>true</code>, a service pipeline is included in the service template. Otherwise, a service pipeline
  isn’t: ncluded in the service template.<br />
  
  Required: No<br />
  
  Allowed values: <code>CUSTOMER_MANAGED</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> */
    pipelineProvisioning?: Value<'CUSTOMER_MANAGED'>;
    /** <code>EncryptionKey</code>  <a name="cfn-proton-servicetemplate-encryptionkey"></a>
  The customer provided service template encryption key that’s used to encrypt data.<br />
  
  Required: No<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>200</code><br />
  
  Pattern: <code>^arn:(aws|aws-cn|aws-us-gov):[a-zA-Z0-9-]+:[a-zA-Z0-9-]*:\d{12}:([\w+=,.@-]+[/:])*[\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> */
    encryptionKey?: Value<string>;
    /** <code>Tags</code>  <a name="cfn-proton-servicetemplate-tags"></a>
  An object that includes the template bundle S3 bucket path and name for the new version of a service template.<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> */
    tags?: Tag[];
    /** <code>Name</code>  <a name="cfn-proton-servicetemplate-name"></a>
  The name of the service template.<br />
  
  Required: No<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>100</code><br />
  
  Pattern: <code>^[0-9A-Za-z]+[0-9A-Za-z_\-]*$</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>;
}
