import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Resource type definition for AWS::CodeDeploy::DeploymentGroup
 */
export declare function getDeploymentGroup(args: GetDeploymentGroupArgs, opts?: pulumi.InvokeOptions): Promise<GetDeploymentGroupResult>;
export interface GetDeploymentGroupArgs {
    /**
     * The name of an existing CodeDeploy application to associate this deployment group with.
     */
    applicationName: string;
    /**
     * A name for the deployment group. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the deployment group name.
     */
    deploymentGroupName: string;
}
export interface GetDeploymentGroupResult {
    /**
     * Information about the Amazon CloudWatch alarms that are associated with the deployment group.
     */
    readonly alarmConfiguration?: outputs.codedeploy.DeploymentGroupAlarmConfiguration;
    /**
     * Information about the automatic rollback configuration that is associated with the deployment group. If you specify this property, don't specify the Deployment property.
     */
    readonly autoRollbackConfiguration?: outputs.codedeploy.DeploymentGroupAutoRollbackConfiguration;
    /**
     * A list of associated Auto Scaling groups that CodeDeploy automatically deploys revisions to when new instances are created. Duplicates are not allowed.
     */
    readonly autoScalingGroups?: string[];
    /**
     * Information about blue/green deployment options for a deployment group.
     */
    readonly blueGreenDeploymentConfiguration?: outputs.codedeploy.DeploymentGroupBlueGreenDeploymentConfiguration;
    /**
     * The application revision to deploy to this deployment group. If you specify this property, your target application revision is deployed as soon as the provisioning process is complete. If you specify this property, don't specify the AutoRollbackConfiguration property.
     */
    readonly deployment?: outputs.codedeploy.DeploymentGroupDeployment;
    /**
     * A deployment configuration name or a predefined configuration name. With predefined configurations, you can deploy application revisions to one instance at a time (CodeDeployDefault.OneAtATime), half of the instances at a time (CodeDeployDefault.HalfAtATime), or all the instances at once (CodeDeployDefault.AllAtOnce).
     */
    readonly deploymentConfigName?: string;
    /**
     * Attributes that determine the type of deployment to run and whether to route deployment traffic behind a load balancer. If you specify this property with a blue/green deployment type, don't specify the AutoScalingGroups, LoadBalancerInfo, or Deployment properties.
     */
    readonly deploymentStyle?: outputs.codedeploy.DeploymentGroupDeploymentStyle;
    /**
     * The Amazon EC2 tags that are already applied to Amazon EC2 instances that you want to include in the deployment group. CodeDeploy includes all Amazon EC2 instances identified by any of the tags you specify in this deployment group. Duplicates are not allowed. You can specify EC2TagFilters or Ec2TagSet, but not both.
     */
    readonly ec2TagFilters?: outputs.codedeploy.DeploymentGroupEc2TagFilter[];
    /**
     * Information about groups of tags applied to Amazon EC2 instances. Use when the deployment group includes only Amazon EC2 instances identified by all the tag groups. Cannot be used in the same call as ec2TagFilter.
     */
    readonly ec2TagSet?: outputs.codedeploy.DeploymentGroupEc2TagSet;
    /**
     * The target Amazon ECS services in the deployment group. This applies only to deployment groups that use the Amazon ECS compute platform. A target Amazon ECS service is specified as an Amazon ECS cluster and service name pair using the format <clustername>:<servicename>.
     */
    readonly ecsServices?: outputs.codedeploy.DeploymentGroupEcsService[];
    /**
     * Information about the load balancer to use in a deployment.
     */
    readonly loadBalancerInfo?: outputs.codedeploy.DeploymentGroupLoadBalancerInfo;
    /**
     * The on-premises instance tags already applied to on-premises instances that you want to include in the deployment group. CodeDeploy includes all on-premises instances identified by any of the tags you specify in this deployment group. Duplicates are not allowed. You can specify OnPremisesInstanceTagFilters or OnPremisesInstanceTagSet, but not both.
     */
    readonly onPremisesInstanceTagFilters?: outputs.codedeploy.DeploymentGroupTagFilter[];
    /**
     * Information about groups of tags applied to on-premises instances. The deployment group includes only on-premises instances identified by all the tag groups. You can specify OnPremisesInstanceTagFilters or OnPremisesInstanceTagSet, but not both.
     */
    readonly onPremisesTagSet?: outputs.codedeploy.DeploymentGroupOnPremisesTagSet;
    /**
     * Indicates what happens when new Amazon EC2 instances are launched mid-deployment and do not receive the deployed application revision. If this option is set to UPDATE or is unspecified, CodeDeploy initiates one or more 'auto-update outdated instances' deployments to apply the deployed application revision to the new Amazon EC2 instances. If this option is set to IGNORE, CodeDeploy does not initiate a deployment to update the new Amazon EC2 instances. This may result in instances having different revisions.
     */
    readonly outdatedInstancesStrategy?: string;
    /**
     * A service role Amazon Resource Name (ARN) that grants CodeDeploy permission to make calls to AWS services on your behalf. For more information, see 'Create a Service Role for AWS CodeDeploy' in the AWS CodeDeploy User Guide.
     */
    readonly serviceRoleArn?: string;
    /**
     * The metadata that you apply to CodeDeploy deployment groups to help you organize and categorize them. Each tag consists of a key and an optional value, both of which you define.
     */
    readonly tags?: outputs.Tag[];
    /**
     * Indicates whether the deployment group was configured to have CodeDeploy install a termination hook into an Auto Scaling group.
     */
    readonly terminationHookEnabled?: boolean;
    /**
     * Information about triggers associated with the deployment group. Duplicates are not allowed.
     */
    readonly triggerConfigurations?: outputs.codedeploy.DeploymentGroupTriggerConfig[];
}
/**
 * Resource type definition for AWS::CodeDeploy::DeploymentGroup
 */
export declare function getDeploymentGroupOutput(args: GetDeploymentGroupOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetDeploymentGroupResult>;
export interface GetDeploymentGroupOutputArgs {
    /**
     * The name of an existing CodeDeploy application to associate this deployment group with.
     */
    applicationName: pulumi.Input<string>;
    /**
     * A name for the deployment group. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the deployment group name.
     */
    deploymentGroupName: pulumi.Input<string>;
}
