aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
107 lines (106 loc) • 3.46 kB
TypeScript
import type { Construct } from 'constructs';
import * as iam from '../../../aws-iam';
import { Resource } from '../../../core';
import type { DeploymentGroupReference, IApplicationRef, IDeploymentConfigRef } from '../../../interfaces/generated/aws-codedeploy-interfaces.generated';
import type { CfnDeploymentGroup } from '../codedeploy.generated';
/**
*/
export interface ImportedDeploymentGroupBaseProps {
/**
* The reference to the CodeDeploy Application that this Deployment Group belongs to.
*/
readonly application: IApplicationRef;
/**
* The physical, human-readable name of the CodeDeploy Deployment Group
* that we are referencing.
*
* @default Either deploymentGroupName or deploymentGroupArn is required
*/
readonly deploymentGroupName: string;
}
/**
* @internal
*/
export declare class ImportedDeploymentGroupBase extends Resource {
/** Uniquely identifies this class. */
static readonly PROPERTY_INJECTION_ID: string;
readonly applicationName: string;
readonly deploymentGroupName: string;
readonly deploymentGroupArn: string;
get deploymentGroupRef(): DeploymentGroupReference;
constructor(scope: Construct, id: string, props: ImportedDeploymentGroupBaseProps);
/**
* Bind DeploymentGroupConfig to the current group, if supported
*
* @internal
*/
protected _bindDeploymentConfig(config: IDeploymentConfigRef): IDeploymentConfigRef;
}
export interface DeploymentGroupBaseProps {
/**
* The physical, human-readable name of the CodeDeploy Deployment Group.
*
* @default An auto-generated name will be used.
*/
readonly deploymentGroupName?: string;
/**
* The service Role of this Deployment Group.
*
* @default A new Role will be created.
*/
readonly role?: iam.IRole;
/**
* Id of the role construct, if created by this construct
*
* Exists because when we factored this out, there was a difference between the
* 3 deployment groups.
*/
readonly roleConstructId: string;
}
/**
* @internal
*/
export declare class DeploymentGroupBase extends Resource {
/** Uniquely identifies this class. */
static readonly PROPERTY_INJECTION_ID: string;
/**
* The name of the Application.
*/
readonly applicationName: string;
/**
* The name of the Deployment Group.
*/
readonly deploymentGroupName: string;
/**
* The ARN of the Deployment Group.
*/
readonly deploymentGroupArn: string;
/**
* A reference to a DeploymentGroup resource.
*/
get deploymentGroupRef(): DeploymentGroupReference;
/**
* The service Role of this Deployment Group.
*
* (Can't make `role` properly public here, as it's typed as optional in one
* interface and typing it here as definitely set interferes with that.)
*
* @internal
*/
readonly _role: iam.IRole;
constructor(scope: Construct, id: string, props: DeploymentGroupBaseProps);
/**
* Bind DeploymentGroupConfig to the current group, if supported
*
* @internal
*/
protected _bindDeploymentConfig(config: IDeploymentConfigRef): IDeploymentConfigRef;
/**
* Set name and ARN properties.
*
* Must be called in the child constructor.
*
* @internal
*/
protected _setNameAndArn(resource: CfnDeploymentGroup, application: IApplicationRef): void;
}