import * as core from "@terrascript/core"; export interface LaunchPermissionArgs extends core.SchemaArgs { organizationArns?: core.Array | core.ArrayOut; organizationalUnitArns?: core.Array | core.ArrayOut; userGroups?: core.Array | core.ArrayOut; userIds?: core.Array | core.ArrayOut; } export declare class LaunchPermission extends core.Schema { organizationArns?: core.Array | core.ArrayOut; organizationalUnitArns?: core.Array | core.ArrayOut; userGroups?: core.Array | core.ArrayOut; userIds?: core.Array | core.ArrayOut; } export interface AmiDistributionConfigurationArgs extends core.SchemaArgs { amiTags?: core.Map | core.MapOut; description?: string | core.StringOut; kmsKeyId?: string | core.StringOut; launchPermission?: LaunchPermission; name?: string | core.StringOut; targetAccountIds?: core.Array | core.ArrayOut; } export declare class AmiDistributionConfiguration extends core.Schema { amiTags?: core.Map | core.MapOut; description?: string | core.StringOut; kmsKeyId?: string | core.StringOut; launchPermission?: LaunchPermission; name?: string | core.StringOut; targetAccountIds?: core.Array | core.ArrayOut; } export interface TargetRepositoryArgs extends core.SchemaArgs { repositoryName: string | core.StringOut; service: string | core.StringOut; } export declare class TargetRepository extends core.Schema { repositoryName: string | core.StringOut; service: string | core.StringOut; } export interface ContainerDistributionConfigurationArgs extends core.SchemaArgs { containerTags?: core.Array | core.ArrayOut; description?: string | core.StringOut; targetRepository: TargetRepository; } export declare class ContainerDistributionConfiguration extends core.Schema { containerTags?: core.Array | core.ArrayOut; description?: string | core.StringOut; targetRepository: TargetRepository; } export interface LaunchTemplateArgs extends core.SchemaArgs { launchTemplateId?: string | core.StringOut; launchTemplateName?: string | core.StringOut; launchTemplateVersion?: string | core.StringOut; } export declare class LaunchTemplate extends core.Schema { launchTemplateId?: string | core.StringOut; launchTemplateName?: string | core.StringOut; launchTemplateVersion?: string | core.StringOut; } export interface SnapshotConfigurationArgs extends core.SchemaArgs { targetResourceCount?: number | core.NumberOut; } export declare class SnapshotConfiguration extends core.Schema { targetResourceCount?: number | core.NumberOut; } export interface FastLaunchConfigurationArgs extends core.SchemaArgs { accountId: string | core.StringOut; enabled: boolean | core.BooleanOut; launchTemplate?: LaunchTemplate; maxParallelLaunches?: number | core.NumberOut; snapshotConfiguration?: SnapshotConfiguration; } export declare class FastLaunchConfiguration extends core.Schema { accountId: string | core.StringOut; enabled: boolean | core.BooleanOut; launchTemplate?: LaunchTemplate; maxParallelLaunches?: number | core.NumberOut; snapshotConfiguration?: SnapshotConfiguration; } export interface LaunchTemplateConfigurationArgs extends core.SchemaArgs { accountId?: string | core.StringOut; default?: boolean | core.BooleanOut; launchTemplateId: string | core.StringOut; } export declare class LaunchTemplateConfiguration extends core.Schema { accountId?: string | core.StringOut; default?: boolean | core.BooleanOut; launchTemplateId: string | core.StringOut; } export interface DistributionArgs extends core.SchemaArgs { amiDistributionConfiguration?: AmiDistributionConfiguration; containerDistributionConfiguration?: ContainerDistributionConfiguration; fastLaunchConfiguration?: core.Array | core.ArrayOut; launchTemplateConfiguration?: core.Array | core.ArrayOut; licenseConfigurationArns?: core.Array | core.ArrayOut; region: string | core.StringOut; } export declare class Distribution extends core.Schema { amiDistributionConfiguration?: AmiDistributionConfiguration; containerDistributionConfiguration?: ContainerDistributionConfiguration; fastLaunchConfiguration?: core.Array | core.ArrayOut; launchTemplateConfiguration?: core.Array | core.ArrayOut; licenseConfigurationArns?: core.Array | core.ArrayOut; region: string | core.StringOut; } export interface DistributionConfigurationArgs extends core.ResourceArgs { /** * (Optional) Description of the distribution configuration. */ description?: string | core.StringOut; /** * (Required) One or more configuration blocks with distribution settings. Detailed below. */ distribution: core.Array | core.ArrayOut; /** * (Required) Name of the distribution configuration. */ name: string | core.StringOut; /** * (Optional) Key-value map of resource tags for the distribution configuration. If configured with a p * rovider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/l * atest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those d * efined at the provider-level. */ tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block). */ tagsAll?: core.Map | core.MapOut; } export declare class DistributionConfiguration extends core.Resource { /** * (Required) Amazon Resource Name (ARN) of the distribution configuration. */ arn: string | core.StringOut; /** * Date the distribution configuration was created. */ dateCreated: string | core.StringOut; /** * Date the distribution configuration was updated. */ dateUpdated: string | core.StringOut; /** * (Optional) Description of the distribution configuration. */ description?: string | core.StringOut; /** * (Required) One or more configuration blocks with distribution settings. Detailed below. */ distribution: core.Array | core.ArrayOut; id: string | core.StringOut; /** * (Required) Name of the distribution configuration. */ name: string | core.StringOut; /** * (Optional) Key-value map of resource tags for the distribution configuration. If configured with a p * rovider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/l * atest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those d * efined at the provider-level. */ tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block). */ tagsAll?: core.Map | core.MapOut; constructor(name: string, args?: DistributionConfigurationArgs); getNamespace(): string; } //# sourceMappingURL=distribution_configuration.d.ts.map