107 lines
3.4 KiB
TypeScript
107 lines
3.4 KiB
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;
|
|
}
|