import { PublicDomainNameProps } from './container/PublicDomainNameProps';
import { Value } from '../../cloudformation/Value';
import { PrivateRegistryAccessProps } from './container/PrivateRegistryAccessProps';
import { ContainerServiceDeploymentProps } from './container/ContainerServiceDeploymentProps';
import { Tag } from '../Tag';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type ContainerAttributes = {
    PrincipalArn: Attribute<string>;
    PrivateRegistryAccess_EcrImagePullerRole_PrincipalArn: Attribute<string>;
    ContainerArn: Attribute<string>;
    Url: Attribute<string>;
};
export type Container = AwsResource<'AWS::Lightsail::Container', ContainerProperties, ContainerAttributes>;
/**
  The <code>AWS::Lightsail::Container</code> resource specifies a container service.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-container.html">the AWS Docs</a>
*/
export declare function container(containerProps: ContainerProperties): Container;
/**
  The <code>AWS::Lightsail::Container</code> resource specifies a container service.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-container.html">the AWS Docs</a>
*/
export interface ContainerProperties {
    /** <code>PublicDomainNames</code>  <a name="cfn-lightsail-container-publicdomainnames"></a>
  The public domain name of the container service, such as <code>example.com</code> and <code>www.example.com</code>.<br />
  You can specify up to four public domain names for a container service. The domain names that you specify are used when you create a deployment with a container that is configured as the public endpoint of your container service.<br />
  If you don’t specify public domain names, then you can use the default domain of the container service.<br />
  You must create and validate an SSL/TLS certificate before you can use public domain names with your container service. Use the <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-certificate.html">AWS::Lightsail::Certificate</a> resource to create a certificate for the public domain names that you want to use with your container service.
  
  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> */
    publicDomainNames?: PublicDomainNameProps[];
    /** <code>ServiceName</code>  <a name="cfn-lightsail-container-servicename"></a>
  The name of the container service.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    serviceName: Value<string>;
    /**  */
    privateRegistryAccess?: PrivateRegistryAccessProps;
    /** <code>ContainerServiceDeployment</code>  <a name="cfn-lightsail-container-containerservicedeployment"></a>
  An object that describes the current container deployment of the container service.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt">Some interruptions</a> */
    containerServiceDeployment?: ContainerServiceDeploymentProps;
    /** <code>IsDisabled</code>  <a name="cfn-lightsail-container-isdisabled"></a>
  A Boolean value indicating whether the container service is disabled.<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> */
    isDisabled?: Value<boolean>;
    /** <code>Scale</code>  <a name="cfn-lightsail-container-scale"></a>
  The scale specification of the container service.<br />
  The scale specifies the allocated compute nodes of the container service.<br />
  
  Required: Yes<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>20</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> */
    scale: Value<number>;
    /** <code>Power</code>  <a name="cfn-lightsail-container-power"></a>
  The power specification of the container service.<br />
  The power specifies the amount of RAM, the number of vCPUs, and the base price of the container service.<br />
  
  Required: Yes<br />
  
  Allowed values: <code>large | medium | micro | nano | small | xlarge</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> */
    power: Value<'large' | 'medium' | 'micro' | 'nano' | 'small' | 'xlarge'>;
    /** <code>Tags</code>  <a name="cfn-lightsail-container-tags"></a>
  An array of key-value pairs to apply to this resource.<br />
  For more information, see <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html">Tag</a> in the
  AWS CloudFormation User Guide: br />
  The <code>Value</code> of <code>Tags</code> is optional for Lightsail resources.
  
  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[];
}
