import * as core from "@terrascript/core"; export interface OnPremisesInstanceTagFilterArgs extends core.SchemaArgs { key?: string | core.StringOut; type?: string | core.StringOut; value?: string | core.StringOut; } export declare class OnPremisesInstanceTagFilter extends core.Schema { key?: string | core.StringOut; type?: string | core.StringOut; value?: string | core.StringOut; } export interface DeploymentStyleArgs extends core.SchemaArgs { deploymentOption?: string | core.StringOut; deploymentType?: string | core.StringOut; } export declare class DeploymentStyle extends core.Schema { deploymentOption?: string | core.StringOut; deploymentType?: string | core.StringOut; } export interface DeploymentReadyOptionArgs extends core.SchemaArgs { actionOnTimeout?: string | core.StringOut; waitTimeInMinutes?: number | core.NumberOut; } export declare class DeploymentReadyOption extends core.Schema { actionOnTimeout?: string | core.StringOut; waitTimeInMinutes?: number | core.NumberOut; } export interface GreenFleetProvisioningOptionArgs extends core.SchemaArgs { action?: string | core.StringOut; } export declare class GreenFleetProvisioningOption extends core.Schema { action?: string | core.StringOut; } export interface TerminateBlueInstancesOnDeploymentSuccessArgs extends core.SchemaArgs { action?: string | core.StringOut; terminationWaitTimeInMinutes?: number | core.NumberOut; } export declare class TerminateBlueInstancesOnDeploymentSuccess extends core.Schema { action?: string | core.StringOut; terminationWaitTimeInMinutes?: number | core.NumberOut; } export interface BlueGreenDeploymentConfigArgs extends core.SchemaArgs { deploymentReadyOption?: DeploymentReadyOption; greenFleetProvisioningOption?: GreenFleetProvisioningOption; terminateBlueInstancesOnDeploymentSuccess?: TerminateBlueInstancesOnDeploymentSuccess; } export declare class BlueGreenDeploymentConfig extends core.Schema { deploymentReadyOption?: DeploymentReadyOption; greenFleetProvisioningOption?: GreenFleetProvisioningOption; terminateBlueInstancesOnDeploymentSuccess?: TerminateBlueInstancesOnDeploymentSuccess; } export interface TargetGroupInfoArgs extends core.SchemaArgs { name?: string | core.StringOut; } export declare class TargetGroupInfo extends core.Schema { name?: string | core.StringOut; } export interface ProdTrafficRouteArgs extends core.SchemaArgs { listenerArns: core.Array | core.ArrayOut; } export declare class ProdTrafficRoute extends core.Schema { listenerArns: core.Array | core.ArrayOut; } export interface TargetGroupArgs extends core.SchemaArgs { name: string | core.StringOut; } export declare class TargetGroup extends core.Schema { name: string | core.StringOut; } export interface TestTrafficRouteArgs extends core.SchemaArgs { listenerArns: core.Array | core.ArrayOut; } export declare class TestTrafficRoute extends core.Schema { listenerArns: core.Array | core.ArrayOut; } export interface TargetGroupPairInfoArgs extends core.SchemaArgs { prodTrafficRoute: ProdTrafficRoute; targetGroup: core.Array | core.ArrayOut; testTrafficRoute?: TestTrafficRoute; } export declare class TargetGroupPairInfo extends core.Schema { prodTrafficRoute: ProdTrafficRoute; targetGroup: core.Array | core.ArrayOut; testTrafficRoute?: TestTrafficRoute; } export interface ElbInfoArgs extends core.SchemaArgs { name?: string | core.StringOut; } export declare class ElbInfo extends core.Schema { name?: string | core.StringOut; } export interface LoadBalancerInfoArgs extends core.SchemaArgs { elbInfo?: core.Array | core.ArrayOut; targetGroupInfo?: core.Array | core.ArrayOut; targetGroupPairInfo?: TargetGroupPairInfo; } export declare class LoadBalancerInfo extends core.Schema { elbInfo?: core.Array | core.ArrayOut; targetGroupInfo?: core.Array | core.ArrayOut; targetGroupPairInfo?: TargetGroupPairInfo; } export interface Ec2TagFilterArgs extends core.SchemaArgs { key?: string | core.StringOut; type?: string | core.StringOut; value?: string | core.StringOut; } export declare class Ec2TagFilter extends core.Schema { key?: string | core.StringOut; type?: string | core.StringOut; value?: string | core.StringOut; } export interface Ec2TagSetArgs extends core.SchemaArgs { ec2TagFilter?: core.Array | core.ArrayOut; } export declare class Ec2TagSet extends core.Schema { ec2TagFilter?: core.Array | core.ArrayOut; } export interface AlarmConfigurationArgs extends core.SchemaArgs { alarms?: core.Array | core.ArrayOut; enabled?: boolean | core.BooleanOut; ignorePollAlarmFailure?: boolean | core.BooleanOut; } export declare class AlarmConfiguration extends core.Schema { alarms?: core.Array | core.ArrayOut; enabled?: boolean | core.BooleanOut; ignorePollAlarmFailure?: boolean | core.BooleanOut; } export interface TriggerConfigurationArgs extends core.SchemaArgs { triggerEvents: core.Array | core.ArrayOut; triggerName: string | core.StringOut; triggerTargetArn: string | core.StringOut; } export declare class TriggerConfiguration extends core.Schema { triggerEvents: core.Array | core.ArrayOut; triggerName: string | core.StringOut; triggerTargetArn: string | core.StringOut; } export interface AutoRollbackConfigurationArgs extends core.SchemaArgs { enabled?: boolean | core.BooleanOut; events?: core.Array | core.ArrayOut; } export declare class AutoRollbackConfiguration extends core.Schema { enabled?: boolean | core.BooleanOut; events?: core.Array | core.ArrayOut; } export interface EcsServiceArgs extends core.SchemaArgs { clusterName: string | core.StringOut; serviceName: string | core.StringOut; } export declare class EcsService extends core.Schema { clusterName: string | core.StringOut; serviceName: string | core.StringOut; } export interface DeploymentGroupArgs extends core.ResourceArgs { /** * (Optional) Configuration block of alarms associated with the deployment group (documented below). */ alarmConfiguration?: AlarmConfiguration; /** * (Required) The name of the application. */ appName: string | core.StringOut; /** * (Optional) Configuration block of the automatic rollback configuration associated with the deploymen * t group (documented below). */ autoRollbackConfiguration?: AutoRollbackConfiguration; /** * (Optional) Autoscaling groups associated with the deployment group. */ autoscalingGroups?: core.Array | core.ArrayOut; /** * (Optional) Configuration block of the blue/green deployment options for a deployment group (document * ed below). */ blueGreenDeploymentConfig?: BlueGreenDeploymentConfig; /** * (Optional) The name of the group's deployment config. The default is "CodeDeployDefault.OneAtATime". */ deploymentConfigName?: string | core.StringOut; /** * (Required) The name of the deployment group. */ deploymentGroupName: string | core.StringOut; /** * (Optional) Configuration block of the type of deployment, either in-place or blue/green, you want to * run and whether to route deployment traffic behind a load balancer (documented below). */ deploymentStyle?: DeploymentStyle; /** * (Optional) Tag filters associated with the deployment group. See the AWS docs for details. */ ec2TagFilter?: core.Array | core.ArrayOut; /** * (Optional) Configuration block(s) of Tag filters associated with the deployment group, which are als * o referred to as tag groups (documented below). See the AWS docs for details. */ ec2TagSet?: core.Array | core.ArrayOut; /** * (Optional) Configuration block(s) of the ECS services for a deployment group (documented below). */ ecsService?: EcsService; /** * (Optional) Single configuration block of the load balancer to use in a blue/green deployment (docume * nted below). */ loadBalancerInfo?: LoadBalancerInfo; /** * (Optional) On premise tag filters associated with the group. See the AWS docs for details. */ onPremisesInstanceTagFilter?: core.Array | core.ArrayOut; /** * (Required) The service role ARN that allows deployments. */ serviceRoleArn: string | core.StringOut; /** * (Optional) Key-value map of resource tags. If configured with a provider [`default_tags` configurati * on block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configurati * on-block) present, tags with matching keys will overwrite those defined 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; /** * (Optional) Configuration block(s) of the triggers for the deployment group (documented below). */ triggerConfiguration?: core.Array | core.ArrayOut; } export declare class DeploymentGroup extends core.Resource { /** * (Optional) Configuration block of alarms associated with the deployment group (documented below). */ alarmConfiguration?: AlarmConfiguration; /** * (Required) The name of the application. */ appName: string | core.StringOut; /** * The ARN of the CodeDeploy deployment group. */ arn: string | core.StringOut; /** * (Optional) Configuration block of the automatic rollback configuration associated with the deploymen * t group (documented below). */ autoRollbackConfiguration?: AutoRollbackConfiguration; /** * (Optional) Autoscaling groups associated with the deployment group. */ autoscalingGroups?: core.Array | core.ArrayOut; /** * (Optional) Configuration block of the blue/green deployment options for a deployment group (document * ed below). */ blueGreenDeploymentConfig?: BlueGreenDeploymentConfig; /** * The destination platform type for the deployment. */ computePlatform: string | core.StringOut; /** * (Optional) The name of the group's deployment config. The default is "CodeDeployDefault.OneAtATime". */ deploymentConfigName?: string | core.StringOut; /** * The ID of the CodeDeploy deployment group. */ deploymentGroupId: string | core.StringOut; /** * (Required) The name of the deployment group. */ deploymentGroupName: string | core.StringOut; /** * (Optional) Configuration block of the type of deployment, either in-place or blue/green, you want to * run and whether to route deployment traffic behind a load balancer (documented below). */ deploymentStyle?: DeploymentStyle; /** * (Optional) Tag filters associated with the deployment group. See the AWS docs for details. */ ec2TagFilter?: core.Array | core.ArrayOut; /** * (Optional) Configuration block(s) of Tag filters associated with the deployment group, which are als * o referred to as tag groups (documented below). See the AWS docs for details. */ ec2TagSet?: core.Array | core.ArrayOut; /** * (Optional) Configuration block(s) of the ECS services for a deployment group (documented below). */ ecsService?: EcsService; /** * Application name and deployment group name. */ id: string | core.StringOut; /** * (Optional) Single configuration block of the load balancer to use in a blue/green deployment (docume * nted below). */ loadBalancerInfo?: LoadBalancerInfo; /** * (Optional) On premise tag filters associated with the group. See the AWS docs for details. */ onPremisesInstanceTagFilter?: core.Array | core.ArrayOut; /** * (Required) The service role ARN that allows deployments. */ serviceRoleArn: string | core.StringOut; /** * (Optional) Key-value map of resource tags. If configured with a provider [`default_tags` configurati * on block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configurati * on-block) present, tags with matching keys will overwrite those defined 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; /** * (Optional) Configuration block(s) of the triggers for the deployment group (documented below). */ triggerConfiguration?: core.Array | core.ArrayOut; constructor(name: string, args?: DeploymentGroupArgs); getNamespace(): string; } //# sourceMappingURL=deployment_group.d.ts.map