agent-claw: automated task changes

This commit is contained in:
daniel
2026-05-06 18:55:16 -05:00
parent 38905bb1e9
commit 732b00fb66
8494 changed files with 2018127 additions and 4 deletions

View File

@@ -0,0 +1,66 @@
import type { Construct } from 'constructs';
import type { IResource } from '../../../core';
import { Resource } from '../../../core';
import type { ApplicationReference, IApplicationRef } from '../../../interfaces/generated/aws-codedeploy-interfaces.generated';
/**
* Represents a reference to a CodeDeploy Application deploying to EC2/on-premise instances.
*
* If you're managing the Application alongside the rest of your CDK resources,
* use the `ServerApplication` class.
*
* If you want to reference an already existing Application,
* or one defined in a different CDK Stack,
* use the `#fromServerApplicationName` method.
*/
export interface IServerApplication extends IResource, IApplicationRef {
/** @attribute */
readonly applicationArn: string;
/** @attribute */
readonly applicationName: string;
}
/**
* Construction properties for `ServerApplication`.
*/
export interface ServerApplicationProps {
/**
* The physical, human-readable name of the CodeDeploy Application.
*
* @default an auto-generated name will be used
*/
readonly applicationName?: string;
}
/**
* A CodeDeploy Application that deploys to EC2/on-premise instances.
*
* @resource AWS::CodeDeploy::Application
*/
export declare class ServerApplication extends Resource implements IServerApplication {
/** Uniquely identifies this class. */
static readonly PROPERTY_INJECTION_ID: string;
/**
* Import an Application defined either outside the CDK app, or in a different region.
*
* The Application's account and region are assumed to be the same as the stack it is being imported
* into. If not, use `fromServerApplicationArn`.
*
* @param scope the parent Construct for this new Construct
* @param id the logical ID of this new Construct
* @param serverApplicationName the name of the application to import
* @returns a Construct representing a reference to an existing Application
*/
static fromServerApplicationName(scope: Construct, id: string, serverApplicationName: string): IServerApplication;
/**
* Import an Application defined either outside the CDK, or in a different CDK Stack, by ARN.
*
* @param scope the parent Construct for this new Construct
* @param id the logical ID of this new Construct
* @param serverApplicationArn the ARN of the application to import
* @returns a Construct representing a reference to an existing Application
*/
static fromServerApplicationArn(scope: Construct, id: string, serverApplicationArn: string): IServerApplication;
private readonly resource;
get applicationArn(): string;
get applicationName(): string;
get applicationRef(): ApplicationReference;
constructor(scope: Construct, id: string, props?: ServerApplicationProps);
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,67 @@
import type { Construct } from 'constructs';
import type { BaseDeploymentConfigOptions, IBaseDeploymentConfig, ZonalConfig } from '../base-deployment-config';
import { BaseDeploymentConfig } from '../base-deployment-config';
import type { MinimumHealthyHosts } from '../host-health-config';
/**
* The Deployment Configuration of an EC2/on-premise Deployment Group.
* The default, pre-defined Configurations are available as constants on the `ServerDeploymentConfig` class
* (`ServerDeploymentConfig.HALF_AT_A_TIME`, `ServerDeploymentConfig.ALL_AT_ONCE`, etc.).
* To create a custom Deployment Configuration,
* instantiate the `ServerDeploymentConfig` Construct.
*/
export interface IServerDeploymentConfig extends IBaseDeploymentConfig {
}
/**
* Construction properties of `ServerDeploymentConfig`.
*/
export interface ServerDeploymentConfigProps extends BaseDeploymentConfigOptions {
/**
* Minimum number of healthy hosts.
*/
readonly minimumHealthyHosts: MinimumHealthyHosts;
/**
* Configure CodeDeploy to deploy your application to one Availability Zone at a time within an AWS Region.
*
* @default - deploy your application to a random selection of hosts across a Region
*/
readonly zonalConfig?: ZonalConfig;
}
/**
* A custom Deployment Configuration for an EC2/on-premise Deployment Group.
*
* @resource AWS::CodeDeploy::DeploymentConfig
*/
export declare class ServerDeploymentConfig extends BaseDeploymentConfig implements IServerDeploymentConfig {
/** Uniquely identifies this class. */
static readonly PROPERTY_INJECTION_ID: string;
/**
* The CodeDeployDefault.OneAtATime predefined deployment configuration for EC2/on-premises compute platform
*
* @see https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations.html#deployment-configuration-server
*/
static readonly ONE_AT_A_TIME: IServerDeploymentConfig;
/**
* The CodeDeployDefault.HalfAtATime predefined deployment configuration for EC2/on-premises compute platform
*
* @see https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations.html#deployment-configuration-server
*/
static readonly HALF_AT_A_TIME: IServerDeploymentConfig;
/**
* The CodeDeployDefault.AllAtOnce predefined deployment configuration for EC2/on-premises compute platform
*
* @see https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations.html#deployment-configuration-server
*/
static readonly ALL_AT_ONCE: IServerDeploymentConfig;
/**
* Import a custom Deployment Configuration for an EC2/on-premise Deployment Group defined either outside the CDK app,
* or in a different region.
*
* @param scope the parent Construct for this new Construct
* @param id the logical ID of this new Construct
* @param serverDeploymentConfigName the properties of the referenced custom Deployment Configuration
* @returns a Construct representing a reference to an existing custom Deployment Configuration
*/
static fromServerDeploymentConfigName(scope: Construct, id: string, serverDeploymentConfigName: string): IServerDeploymentConfig;
private static deploymentConfig;
constructor(scope: Construct, id: string, props: ServerDeploymentConfigProps);
}

View File

@@ -0,0 +1 @@
"use strict";var __esDecorate=exports&&exports.__esDecorate||function(ctor,descriptorIn,decorators,contextIn,initializers,extraInitializers){function accept(f){if(f!==void 0&&typeof f!="function")throw new TypeError("Function expected");return f}for(var kind=contextIn.kind,key=kind==="getter"?"get":kind==="setter"?"set":"value",target=!descriptorIn&&ctor?contextIn.static?ctor:ctor.prototype:null,descriptor=descriptorIn||(target?Object.getOwnPropertyDescriptor(target,contextIn.name):{}),_,done=!1,i=decorators.length-1;i>=0;i--){var context={};for(var p in contextIn)context[p]=p==="access"?{}:contextIn[p];for(var p in contextIn.access)context.access[p]=contextIn.access[p];context.addInitializer=function(f){if(done)throw new TypeError("Cannot add initializers after decoration has completed");extraInitializers.push(accept(f||null))};var result=(0,decorators[i])(kind==="accessor"?{get:descriptor.get,set:descriptor.set}:descriptor[key],context);if(kind==="accessor"){if(result===void 0)continue;if(result===null||typeof result!="object")throw new TypeError("Object expected");(_=accept(result.get))&&(descriptor.get=_),(_=accept(result.set))&&(descriptor.set=_),(_=accept(result.init))&&initializers.unshift(_)}else(_=accept(result))&&(kind==="field"?initializers.unshift(_):descriptor[key]=_)}target&&Object.defineProperty(target,contextIn.name,descriptor),done=!0},__runInitializers=exports&&exports.__runInitializers||function(thisArg,initializers,value){for(var useValue=arguments.length>2,i=0;i<initializers.length;i++)value=useValue?initializers[i].call(thisArg,value):initializers[i].call(thisArg);return useValue?value:void 0};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ServerDeploymentConfig=void 0;var jsiiDeprecationWarnings=()=>{var tmp=require("../../../.warnings.jsii.js");return jsiiDeprecationWarnings=()=>tmp,tmp};const JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti");var metadata_resource_1=()=>{var tmp=require("../../../core/lib/metadata-resource");return metadata_resource_1=()=>tmp,tmp},prop_injectable_1=()=>{var tmp=require("../../../core/lib/prop-injectable");return prop_injectable_1=()=>tmp,tmp},base_deployment_config_1=()=>{var tmp=require("../base-deployment-config");return base_deployment_config_1=()=>tmp,tmp},utils_1=()=>{var tmp=require("../private/utils");return utils_1=()=>tmp,tmp};let ServerDeploymentConfig=(()=>{let _classDecorators=[prop_injectable_1().propertyInjectable],_classDescriptor,_classExtraInitializers=[],_classThis,_classSuper=base_deployment_config_1().BaseDeploymentConfig;var ServerDeploymentConfig2=class extends _classSuper{static{_classThis=this}static{const _metadata=typeof Symbol=="function"&&Symbol.metadata?Object.create(_classSuper[Symbol.metadata]??null):void 0;__esDecorate(null,_classDescriptor={value:_classThis},_classDecorators,{kind:"class",name:_classThis.name,metadata:_metadata},null,_classExtraInitializers),ServerDeploymentConfig2=_classThis=_classDescriptor.value,_metadata&&Object.defineProperty(_classThis,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:_metadata})}static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_codedeploy.ServerDeploymentConfig",version:"2.252.0"};static PROPERTY_INJECTION_ID="aws-cdk-lib.aws-codedeploy.ServerDeploymentConfig";static ONE_AT_A_TIME=ServerDeploymentConfig2.deploymentConfig("CodeDeployDefault.OneAtATime");static HALF_AT_A_TIME=ServerDeploymentConfig2.deploymentConfig("CodeDeployDefault.HalfAtATime");static ALL_AT_ONCE=ServerDeploymentConfig2.deploymentConfig("CodeDeployDefault.AllAtOnce");static fromServerDeploymentConfigName(scope,id,serverDeploymentConfigName){return this.fromDeploymentConfigName(scope,id,serverDeploymentConfigName)}static deploymentConfig(name){return(0,utils_1().deploymentConfig)(name)}constructor(scope,id,props){super(scope,id,props);try{jsiiDeprecationWarnings().aws_cdk_lib_aws_codedeploy_ServerDeploymentConfigProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,ServerDeploymentConfig2),error}(0,metadata_resource_1().addConstructMetadata)(this,props)}static{__runInitializers(_classThis,_classExtraInitializers)}};return ServerDeploymentConfig2=_classThis})();exports.ServerDeploymentConfig=ServerDeploymentConfig;

View File

@@ -0,0 +1,240 @@
import type { Construct } from 'constructs';
import type { IServerApplication } from './application';
import type { IServerDeploymentConfig } from './deployment-config';
import type { LoadBalancer } from './load-balancer';
import type * as autoscaling from '../../../aws-autoscaling';
import * as iam from '../../../aws-iam';
import * as cdk from '../../../core';
import type { IAlarmRef } from '../../../interfaces/generated/aws-cloudwatch-interfaces.generated';
import type { IDeploymentGroupRef, IApplicationRef, IDeploymentConfigRef } from '../../../interfaces/generated/aws-codedeploy-interfaces.generated';
import { DeploymentGroupBase } from '../private/base-deployment-group';
import type { AutoRollbackConfig } from '../rollback-config';
export interface IServerDeploymentGroup extends cdk.IResource, IDeploymentGroupRef {
readonly application: IServerApplication;
readonly role?: iam.IRole;
/**
* @attribute
*/
readonly deploymentGroupName: string;
/**
* @attribute
*/
readonly deploymentGroupArn: string;
readonly deploymentConfig: IServerDeploymentConfig;
readonly autoScalingGroups?: autoscaling.IAutoScalingGroup[];
}
/**
* Properties of a reference to a CodeDeploy EC2/on-premise Deployment Group.
*
* @see ServerDeploymentGroup#import
*/
export interface ServerDeploymentGroupAttributes {
/**
* The reference to the CodeDeploy EC2/on-premise Application
* that this Deployment Group belongs to.
*/
readonly application: IApplicationRef;
/**
* The physical, human-readable name of the CodeDeploy EC2/on-premise Deployment Group
* that we are referencing.
*/
readonly deploymentGroupName: string;
/**
* The Deployment Configuration this Deployment Group uses.
*
* @default ServerDeploymentConfig#OneAtATime
*/
readonly deploymentConfig?: IDeploymentConfigRef;
}
/**
* Represents a group of instance tags.
* An instance will match a group if it has a tag matching
* any of the group's tags by key and any of the provided values -
* in other words, tag groups follow 'or' semantics.
* If the value for a given key is an empty array,
* an instance will match when it has a tag with the given key,
* regardless of the value.
* If the key is an empty string, any tag,
* regardless of its key, with any of the given values, will match.
*/
export type InstanceTagGroup = {
[key: string]: string[];
};
/**
* Represents a set of instance tag groups.
* An instance will match a set if it matches all of the groups in the set -
* in other words, sets follow 'and' semantics.
* You can have a maximum of 3 tag groups inside a set.
*/
export declare class InstanceTagSet {
private readonly _instanceTagGroups;
constructor(...instanceTagGroups: InstanceTagGroup[]);
get instanceTagGroups(): InstanceTagGroup[];
}
/**
* Construction properties for `ServerDeploymentGroup`.
*/
export interface ServerDeploymentGroupProps {
/**
* The CodeDeploy EC2/on-premise Application this Deployment Group belongs to.
*
* @default - A new Application will be created.
*/
readonly application?: IApplicationRef;
/**
* The service Role of this Deployment Group.
*
* @default - A new Role will be created.
*/
readonly role?: iam.IRole;
/**
* The physical, human-readable name of the CodeDeploy Deployment Group.
*
* @default - An auto-generated name will be used.
*/
readonly deploymentGroupName?: string;
/**
* The EC2/on-premise Deployment Configuration to use for this Deployment Group.
*
* @default ServerDeploymentConfig#OneAtATime
*/
readonly deploymentConfig?: IDeploymentConfigRef;
/**
* The auto-scaling groups belonging to this Deployment Group.
*
* Auto-scaling groups can also be added after the Deployment Group is created
* using the `#addAutoScalingGroup` method.
*
* [disable-awslint:ref-via-interface] is needed because we update userdata
* for ASGs to install the codedeploy agent.
*
* @default []
*/
readonly autoScalingGroups?: autoscaling.IAutoScalingGroup[];
/**
* If you've provided any auto-scaling groups with the `#autoScalingGroups` property,
* you can set this property to add User Data that installs the CodeDeploy agent on the instances.
*
* @default true
* @see https://docs.aws.amazon.com/codedeploy/latest/userguide/codedeploy-agent-operations-install.html
*/
readonly installAgent?: boolean;
/**
* The load balancer to place in front of this Deployment Group.
* Can be created from either a classic Elastic Load Balancer,
* or an Application Load Balancer / Network Load Balancer Target Group.
*
* @default - Deployment Group will not have a load balancer defined.
* @deprecated - Use `loadBalancers` instead.
*/
readonly loadBalancer?: LoadBalancer;
/**
* CodeDeploy supports the deployment to multiple load balancers.
* Specify either multiple Classic Load Balancers, or
* Application Load Balancers / Network Load Balancers Target Groups.
*
* @default - Deployment Group will not have load balancers defined.
*/
readonly loadBalancers?: LoadBalancer[];
/**
* All EC2 instances matching the given set of tags when a deployment occurs will be added to this Deployment Group.
*
* @default - No additional EC2 instances will be added to the Deployment Group.
*/
readonly ec2InstanceTags?: InstanceTagSet;
/**
* All on-premise instances matching the given set of tags when a deployment occurs will be added to this Deployment Group.
*
* @default - No additional on-premise instances will be added to the Deployment Group.
*/
readonly onPremiseInstanceTags?: InstanceTagSet;
/**
* The CloudWatch alarms associated with this Deployment Group.
* CodeDeploy will stop (and optionally roll back)
* a deployment if during it any of the alarms trigger.
*
* Alarms can also be added after the Deployment Group is created using the `#addAlarm` method.
*
* @default []
* @see https://docs.aws.amazon.com/codedeploy/latest/userguide/monitoring-create-alarms.html
*/
readonly alarms?: IAlarmRef[];
/**
* Whether to continue a deployment even if fetching the alarm status from CloudWatch failed.
*
* @default false
*/
readonly ignorePollAlarmsFailure?: boolean;
/**
* The auto-rollback configuration for this Deployment Group.
*
* @default - default AutoRollbackConfig.
*/
readonly autoRollback?: AutoRollbackConfig;
/**
* Whether to skip the step of checking CloudWatch alarms during the deployment process
*
* @default - false
*/
readonly ignoreAlarmConfiguration?: boolean;
/**
* Indicates whether the deployment group was configured to have CodeDeploy install a termination hook into an Auto Scaling group.
*
* @see https://docs.aws.amazon.com/codedeploy/latest/userguide/integrations-aws-auto-scaling.html#integrations-aws-auto-scaling-behaviors
*
* @default - false
*/
readonly terminationHook?: boolean;
}
/**
* A CodeDeploy Deployment Group that deploys to EC2/on-premise instances.
* @resource AWS::CodeDeploy::DeploymentGroup
*/
export declare class ServerDeploymentGroup extends DeploymentGroupBase implements IServerDeploymentGroup {
/** Uniquely identifies this class. */
static readonly PROPERTY_INJECTION_ID: string;
/**
* Import an EC2/on-premise Deployment Group defined either outside the CDK app,
* or in a different region.
*
* @param scope the parent Construct for this new Construct
* @param id the logical ID of this new Construct
* @param attrs the properties of the referenced Deployment Group
* @returns a Construct representing a reference to an existing Deployment Group
*/
static fromServerDeploymentGroupAttributes(scope: Construct, id: string, attrs: ServerDeploymentGroupAttributes): IServerDeploymentGroup;
private readonly _application;
private readonly _deploymentConfig;
/**
* The service Role of this Deployment Group.
*/
readonly role?: iam.IRole;
private readonly _autoScalingGroups;
private readonly installAgent;
private readonly codeDeployBucket;
private readonly alarms;
private readonly loadBalancers?;
constructor(scope: Construct, id: string, props?: ServerDeploymentGroupProps);
get application(): IServerApplication;
get deploymentConfig(): IServerDeploymentConfig;
/**
* Adds an additional auto-scaling group to this Deployment Group.
*
* @param asg the auto-scaling group to add to this Deployment Group.
* [disable-awslint:ref-via-interface] is needed in order to install the code
* deploy agent by updating the ASGs user data.
*/
addAutoScalingGroup(asg: autoscaling.AutoScalingGroup): void;
/**
* Associates an additional alarm with this Deployment Group.
*
* @param alarm the alarm to associate with this Deployment Group
*/
addAlarm(alarm: IAlarmRef): void;
get autoScalingGroups(): autoscaling.IAutoScalingGroup[] | undefined;
private addCodeDeployAgentInstallUserData;
private loadBalancersInfo;
private ec2TagSet;
private onPremiseTagSet;
private tagGroup2TagsArray;
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,4 @@
export * from './application';
export * from './deployment-config';
export * from './deployment-group';
export * from './load-balancer';

View File

@@ -0,0 +1 @@
"use strict";var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m,k);(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m,k,k2){k2===void 0&&(k2=k),o[k2]=m[k]})),__exportStar=exports&&exports.__exportStar||function(m,exports2){for(var p in m)p!=="default"&&!Object.prototype.hasOwnProperty.call(exports2,p)&&__createBinding(exports2,m,p)};Object.defineProperty(exports,"__esModule",{value:!0});var _noFold;exports.ServerApplication=void 0,Object.defineProperty(exports,_noFold="ServerApplication",{enumerable:!0,configurable:!0,get:()=>{var value=require("./application").ServerApplication;return Object.defineProperty(exports,_noFold="ServerApplication",{enumerable:!0,configurable:!0,value}),value}}),exports.ServerDeploymentConfig=void 0,Object.defineProperty(exports,_noFold="ServerDeploymentConfig",{enumerable:!0,configurable:!0,get:()=>{var value=require("./deployment-config").ServerDeploymentConfig;return Object.defineProperty(exports,_noFold="ServerDeploymentConfig",{enumerable:!0,configurable:!0,value}),value}}),exports.InstanceTagSet=void 0,Object.defineProperty(exports,_noFold="InstanceTagSet",{enumerable:!0,configurable:!0,get:()=>{var value=require("./deployment-group").InstanceTagSet;return Object.defineProperty(exports,_noFold="InstanceTagSet",{enumerable:!0,configurable:!0,value}),value}}),exports.ServerDeploymentGroup=void 0,Object.defineProperty(exports,_noFold="ServerDeploymentGroup",{enumerable:!0,configurable:!0,get:()=>{var value=require("./deployment-group").ServerDeploymentGroup;return Object.defineProperty(exports,_noFold="ServerDeploymentGroup",{enumerable:!0,configurable:!0,value}),value}}),exports.LoadBalancerGeneration=void 0,Object.defineProperty(exports,_noFold="LoadBalancerGeneration",{enumerable:!0,configurable:!0,get:()=>{var value=require("./load-balancer").LoadBalancerGeneration;return Object.defineProperty(exports,_noFold="LoadBalancerGeneration",{enumerable:!0,configurable:!0,value}),value}}),exports.LoadBalancer=void 0,Object.defineProperty(exports,_noFold="LoadBalancer",{enumerable:!0,configurable:!0,get:()=>{var value=require("./load-balancer").LoadBalancer;return Object.defineProperty(exports,_noFold="LoadBalancer",{enumerable:!0,configurable:!0,value}),value}});

View File

@@ -0,0 +1,42 @@
import type * as elb from '../../../aws-elasticloadbalancing';
import type * as elbv2 from '../../../aws-elasticloadbalancingv2';
/**
* The generations of AWS load balancing solutions.
*/
export declare enum LoadBalancerGeneration {
/**
* The first generation (ELB Classic).
*/
FIRST = 0,
/**
* The second generation (ALB and NLB).
*/
SECOND = 1
}
/**
* An interface of an abstract load balancer, as needed by CodeDeploy.
* Create instances using the static factory methods:
* `#classic`, `#application` and `#network`.
*/
export declare abstract class LoadBalancer {
/**
* Creates a new CodeDeploy load balancer from a Classic ELB Load Balancer.
*
* @param loadBalancer a classic ELB Load Balancer
*/
static classic(loadBalancer: elb.LoadBalancer): LoadBalancer;
/**
* Creates a new CodeDeploy load balancer from an Application Load Balancer Target Group.
*
* @param albTargetGroup an ALB Target Group
*/
static application(albTargetGroup: elbv2.IApplicationTargetGroup): LoadBalancer;
/**
* Creates a new CodeDeploy load balancer from a Network Load Balancer Target Group.
*
* @param nlbTargetGroup an NLB Target Group
*/
static network(nlbTargetGroup: elbv2.INetworkTargetGroup): LoadBalancer;
abstract readonly generation: LoadBalancerGeneration;
abstract readonly name: string;
}

View File

@@ -0,0 +1 @@
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LoadBalancer=exports.LoadBalancerGeneration=void 0;var jsiiDeprecationWarnings=()=>{var tmp=require("../../../.warnings.jsii.js");return jsiiDeprecationWarnings=()=>tmp,tmp};const JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti");var LoadBalancerGeneration;(function(LoadBalancerGeneration2){LoadBalancerGeneration2[LoadBalancerGeneration2.FIRST=0]="FIRST",LoadBalancerGeneration2[LoadBalancerGeneration2.SECOND=1]="SECOND"})(LoadBalancerGeneration||(exports.LoadBalancerGeneration=LoadBalancerGeneration={}));class LoadBalancer{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_codedeploy.LoadBalancer",version:"2.252.0"};static classic(loadBalancer){try{jsiiDeprecationWarnings().aws_cdk_lib_aws_elasticloadbalancing_LoadBalancer(loadBalancer)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.classic),error}class ClassicLoadBalancer extends LoadBalancer{generation=LoadBalancerGeneration.FIRST;name=loadBalancer.loadBalancerName}return new ClassicLoadBalancer}static application(albTargetGroup){try{jsiiDeprecationWarnings().aws_cdk_lib_aws_elasticloadbalancingv2_IApplicationTargetGroup(albTargetGroup)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.application),error}class AlbLoadBalancer extends LoadBalancer{generation=LoadBalancerGeneration.SECOND;name=albTargetGroup.targetGroupName}return new AlbLoadBalancer}static network(nlbTargetGroup){try{jsiiDeprecationWarnings().aws_cdk_lib_aws_elasticloadbalancingv2_INetworkTargetGroup(nlbTargetGroup)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.network),error}class NlbLoadBalancer extends LoadBalancer{generation=LoadBalancerGeneration.SECOND;name=nlbTargetGroup.targetGroupName}return new NlbLoadBalancer}}exports.LoadBalancer=LoadBalancer;