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 AWS Lambda.
*
* If you're managing the Application alongside the rest of your CDK resources,
* use the `LambdaApplication` class.
*
* If you want to reference an already existing Application,
* or one defined in a different CDK Stack,
* use the `LambdaApplication#fromLambdaApplicationName` method.
*/
export interface ILambdaApplication extends IResource, IApplicationRef {
/** @attribute */
readonly applicationArn: string;
/** @attribute */
readonly applicationName: string;
}
/**
* Construction properties for `LambdaApplication`.
*/
export interface LambdaApplicationProps {
/**
* 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 an AWS Lambda function.
*
* @resource AWS::CodeDeploy::Application
*/
export declare class LambdaApplication extends Resource implements ILambdaApplication {
/** Uniquely identifies this class. */
static readonly PROPERTY_INJECTION_ID: string;
/**
* Import an Application defined either outside the CDK, or in a different CDK Stack.
*
* The Application's account and region are assumed to be the same as the stack it is being imported
* into. If not, use `fromLambdaApplicationArn`.
*
* @param scope the parent Construct for this new Construct
* @param id the logical ID of this new Construct
* @param lambdaApplicationName the name of the application to import
* @returns a Construct representing a reference to an existing Application
*/
static fromLambdaApplicationName(scope: Construct, id: string, lambdaApplicationName: string): ILambdaApplication;
/**
* 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 lambdaApplicationArn the ARN of the application to import
* @returns a Construct representing a reference to an existing Application
*/
static fromLambdaApplicationArn(scope: Construct, id: string, lambdaApplicationArn: string): ILambdaApplication;
private readonly resource;
get applicationArn(): string;
get applicationName(): string;
get applicationRef(): ApplicationReference;
constructor(scope: Construct, id: string, props?: LambdaApplicationProps);
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,79 @@
import type { Construct } from 'constructs';
import type { ILambdaDeploymentConfig } from './deployment-config';
import type { Duration } from '../../../core';
import { Resource } from '../../../core';
import type { IBindableDeploymentConfig } from '../base-deployment-config';
import type { DeploymentConfigReference, IDeploymentConfigRef, IDeploymentGroupRef } from '../codedeploy.generated';
/**
* Lambda Deployment config type
* @deprecated Use `LambdaDeploymentConfig`
*/
export declare enum CustomLambdaDeploymentConfigType {
/**
* Canary deployment type
* @deprecated Use `LambdaDeploymentConfig`
*/
CANARY = "Canary",
/**
* Linear deployment type
* @deprecated Use `LambdaDeploymentConfig`
*/
LINEAR = "Linear"
}
/**
* Properties of a reference to a CodeDeploy Lambda Deployment Configuration.
* @deprecated Use `LambdaDeploymentConfig`
*/
export interface CustomLambdaDeploymentConfigProps {
/**
* The type of deployment config, either CANARY or LINEAR
* @deprecated Use `LambdaDeploymentConfig`
*/
readonly type: CustomLambdaDeploymentConfigType;
/**
* The integer percentage of traffic to shift:
* - For LINEAR, the percentage to shift every interval
* - For CANARY, the percentage to shift until the interval passes, before the full deployment
* @deprecated Use `LambdaDeploymentConfig`
*/
readonly percentage: number;
/**
* The interval, in number of minutes:
* - For LINEAR, how frequently additional traffic is shifted
* - For CANARY, how long to shift traffic before the full deployment
* @deprecated Use `LambdaDeploymentConfig`
*/
readonly interval: Duration;
/**
* The verbatim name of the deployment config. Must be unique per account/region.
* Other parameters cannot be updated if this name is provided.
* @default - automatically generated name
* @deprecated Use `LambdaDeploymentConfig`
*/
readonly deploymentConfigName?: string;
}
/**
* A custom Deployment Configuration for a Lambda Deployment Group.
* @resource AWS::CodeDeploy::DeploymentGroup
* @deprecated CloudFormation now supports Lambda deployment configurations without custom resources. Use `LambdaDeploymentConfig`.
*/
export declare class CustomLambdaDeploymentConfig extends Resource implements ILambdaDeploymentConfig, IBindableDeploymentConfig {
/** Uniquely identifies this class. */
static readonly PROPERTY_INJECTION_ID: string;
/**
* The name of the deployment config
* @attribute
* @deprecated Use `LambdaDeploymentConfig`
*/
readonly deploymentConfigName: string;
/**
* The arn of the deployment config
* @attribute
* @deprecated Use `LambdaDeploymentConfig`
*/
readonly deploymentConfigArn: string;
get deploymentConfigRef(): DeploymentConfigReference;
constructor(scope: Construct, id: string, props: CustomLambdaDeploymentConfigProps);
bindEnvironment(deploymentGroup: IDeploymentGroupRef): IDeploymentConfigRef;
private validateParameters;
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,89 @@
import type { Construct } from 'constructs';
import type { BaseDeploymentConfigOptions, IBaseDeploymentConfig } from '../base-deployment-config';
import { BaseDeploymentConfig } from '../base-deployment-config';
import { TrafficRouting } from '../traffic-routing-config';
/**
* The Deployment Configuration of a Lambda Deployment Group.
*
* If you're managing the Deployment Configuration alongside the rest of your CDK resources,
* use the `LambdaDeploymentConfig` class.
*
* If you want to reference an already existing deployment configuration,
* or one defined in a different CDK Stack,
* use the `LambdaDeploymentConfig#fromLambdaDeploymentConfigName` method.
*
* The default, pre-defined Configurations are available as constants on the `LambdaDeploymentConfig` class
* (`LambdaDeploymentConfig.AllAtOnce`, `LambdaDeploymentConfig.Canary10Percent30Minutes`, etc.).
*/
export interface ILambdaDeploymentConfig extends IBaseDeploymentConfig {
}
/**
* Properties of a reference to a CodeDeploy Lambda Deployment Configuration.
*
* @see LambdaDeploymentConfig#import
*/
export interface LambdaDeploymentConfigImportProps {
/**
* The physical, human-readable name of the custom CodeDeploy Lambda Deployment Configuration
* that we are referencing.
*/
readonly deploymentConfigName: string;
}
/**
* Construction properties of `LambdaDeploymentConfig`.
*/
export interface LambdaDeploymentConfigProps extends BaseDeploymentConfigOptions {
/**
* The configuration that specifies how traffic is shifted from the 'blue'
* target group to the 'green' target group during a deployment.
* @default AllAtOnce
*/
readonly trafficRouting?: TrafficRouting;
}
/**
* A custom Deployment Configuration for a Lambda Deployment Group.
* @resource AWS::CodeDeploy::DeploymentConfig
*/
export declare class LambdaDeploymentConfig extends BaseDeploymentConfig implements ILambdaDeploymentConfig {
/** Uniquely identifies this class. */
static readonly PROPERTY_INJECTION_ID: string;
/** CodeDeploy predefined deployment configuration that shifts all traffic to the updated Lambda function at once. */
static readonly ALL_AT_ONCE: ILambdaDeploymentConfig;
/** CodeDeploy predefined deployment configuration that shifts 10 percent of traffic in the first increment. The remaining 90 percent is deployed 30 minutes later. */
static readonly CANARY_10PERCENT_30MINUTES: ILambdaDeploymentConfig;
/** CodeDeploy predefined deployment configuration that shifts 10 percent of traffic in the first increment. The remaining 90 percent is deployed five minutes later. */
static readonly CANARY_10PERCENT_5MINUTES: ILambdaDeploymentConfig;
/** CodeDeploy predefined deployment configuration that shifts 10 percent of traffic in the first increment. The remaining 90 percent is deployed 10 minutes later. */
static readonly CANARY_10PERCENT_10MINUTES: ILambdaDeploymentConfig;
/** CodeDeploy predefined deployment configuration that shifts 10 percent of traffic in the first increment. The remaining 90 percent is deployed 15 minutes later. */
static readonly CANARY_10PERCENT_15MINUTES: ILambdaDeploymentConfig;
/** CodeDeploy predefined deployment configuration that shifts 10 percent of traffic every 10 minutes until all traffic is shifted. */
static readonly LINEAR_10PERCENT_EVERY_10MINUTES: ILambdaDeploymentConfig;
/** CodeDeploy predefined deployment configuration that shifts 10 percent of traffic every minute until all traffic is shifted. */
static readonly LINEAR_10PERCENT_EVERY_1MINUTE: ILambdaDeploymentConfig;
/** CodeDeploy predefined deployment configuration that shifts 10 percent of traffic every two minutes until all traffic is shifted. */
static readonly LINEAR_10PERCENT_EVERY_2MINUTES: ILambdaDeploymentConfig;
/** CodeDeploy predefined deployment configuration that shifts 10 percent of traffic every three minutes until all traffic is shifted. */
static readonly LINEAR_10PERCENT_EVERY_3MINUTES: ILambdaDeploymentConfig;
/**
* Import a Deployment Configuration for a Lambda Deployment Group defined outside the CDK.
*
* @param scope the parent Construct for this new Construct
* @param id the logical ID of this new Construct
* @param lambdaDeploymentConfigName the name of the Lambda Deployment Configuration to import
* @returns a Construct representing a reference to an existing Lambda Deployment Configuration
*/
static fromLambdaDeploymentConfigName(scope: Construct, id: string, lambdaDeploymentConfigName: string): ILambdaDeploymentConfig;
/**
* Import a Deployment Configuration for a Lambda Deployment Group defined outside the CDK.
*
* @param _scope the parent Construct for this new Construct
* @param _id the logical ID of this new Construct
* @param props the properties of the referenced custom Deployment Configuration
* @returns a Construct representing a reference to an existing custom Deployment Configuration
* @deprecated use `fromLambdaDeploymentConfigName`
*/
static import(_scope: Construct, _id: string, props: LambdaDeploymentConfigImportProps): ILambdaDeploymentConfig;
private static deploymentConfig;
constructor(scope: Construct, id: string, props?: LambdaDeploymentConfigProps);
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,187 @@
import type { Construct } from 'constructs';
import type { ILambdaApplication } from './application';
import type { ILambdaDeploymentConfig } from './deployment-config';
import * as iam from '../../../aws-iam';
import type * as lambda from '../../../aws-lambda';
import * as cdk from '../../../core';
import type { IAlarmRef } from '../../../interfaces/generated/aws-cloudwatch-interfaces.generated';
import type { IDeploymentGroupRef } from '../../../interfaces/generated/aws-codedeploy-interfaces.generated';
import { DeploymentGroupBase } from '../private/base-deployment-group';
import type { AutoRollbackConfig } from '../rollback-config';
/**
* Interface for a Lambda deployment groups.
*/
export interface ILambdaDeploymentGroup extends cdk.IResource, IDeploymentGroupRef {
/**
* The reference to the CodeDeploy Lambda Application that this Deployment Group belongs to.
*/
readonly application: ILambdaApplication;
/**
* The physical name of the CodeDeploy Deployment Group.
* @attribute
*/
readonly deploymentGroupName: string;
/**
* The ARN of this Deployment Group.
* @attribute
*/
readonly deploymentGroupArn: string;
/**
* The Deployment Configuration this Group uses.
*/
readonly deploymentConfig: ILambdaDeploymentConfig;
}
/**
* Construction properties for `LambdaDeploymentGroup`.
*/
export interface LambdaDeploymentGroupProps {
/**
* The reference to the CodeDeploy Lambda Application that this Deployment Group belongs to.
*
* @default - One will be created for you.
*/
readonly application?: ILambdaApplication;
/**
* The physical, human-readable name of the CodeDeploy Deployment Group.
*
* @default - An auto-generated name will be used.
*/
readonly deploymentGroupName?: string;
/**
* The Deployment Configuration this Deployment Group uses.
*
* @default LambdaDeploymentConfig.CANARY_10PERCENT_5MINUTES
*/
readonly deploymentConfig?: ILambdaDeploymentConfig;
/**
* 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[];
/**
* The service Role of this Deployment Group.
*
* @default - A new Role will be created.
*/
readonly role?: iam.IRole;
/**
* Lambda Alias to shift traffic. Updating the version
* of the alias will trigger a CodeDeploy deployment.
*
* [disable-awslint:ref-via-interface] since we need to modify the alias CFN resource update policy
*/
readonly alias: lambda.Alias;
/**
* The Lambda function to run before traffic routing starts.
*
* @default - None.
*/
readonly preHook?: lambda.IFunction;
/**
* The Lambda function to run after traffic routing starts.
*
* @default - None.
*/
readonly postHook?: lambda.IFunction;
/**
* 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;
}
/**
* @resource AWS::CodeDeploy::DeploymentGroup
*/
export declare class LambdaDeploymentGroup extends DeploymentGroupBase implements ILambdaDeploymentGroup {
/** Uniquely identifies this class. */
static readonly PROPERTY_INJECTION_ID: string;
/**
* Import an Lambda Deployment Group defined either outside the CDK app, or in a different AWS region.
*
* Account and region for the DeploymentGroup are taken from the application.
*
* @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 fromLambdaDeploymentGroupAttributes(scope: Construct, id: string, attrs: LambdaDeploymentGroupAttributes): ILambdaDeploymentGroup;
readonly application: ILambdaApplication;
/**
* The service Role of this Deployment Group.
*/
readonly role: iam.IRole;
private readonly alarms;
private readonly _preHook;
private readonly _postHook;
private readonly _deploymentConfig;
constructor(scope: Construct, id: string, props: LambdaDeploymentGroupProps);
/**
* Associates an additional alarm with this Deployment Group.
*
* @param alarm the alarm to associate with this Deployment Group
*/
addAlarm(alarm: IAlarmRef): void;
/**
* Associate a function to run before deployment begins.
* @param preHook function to run before deployment beings
* @throws an error if a pre-hook function is already configured
*/
addPreHook(preHook: lambda.IFunction): void;
/**
* Associate a function to run after deployment completes.
* @param postHook function to run after deployment completes
* @throws an error if a post-hook function is already configured
*/
addPostHook(postHook: lambda.IFunction): void;
/**
* Grant a principal permission to codedeploy:PutLifecycleEventHookExecutionStatus
* on this deployment group resource.
* [disable-awslint:no-grants]
* @param grantee to grant permission to
*/
grantPutLifecycleEventHookExecutionStatus(grantee: iam.IGrantable): iam.Grant;
get deploymentConfig(): ILambdaDeploymentConfig;
}
/**
* Properties of a reference to a CodeDeploy Lambda Deployment Group.
*
* @see LambdaDeploymentGroup#fromLambdaDeploymentGroupAttributes
*/
export interface LambdaDeploymentGroupAttributes {
/**
* The reference to the CodeDeploy Lambda Application
* that this Deployment Group belongs to.
*/
readonly application: ILambdaApplication;
/**
* The physical, human-readable name of the CodeDeploy Lambda Deployment Group
* that we are referencing.
*/
readonly deploymentGroupName: string;
/**
* The Deployment Configuration this Deployment Group uses.
*
* @default LambdaDeploymentConfig.CANARY_10PERCENT_5MINUTES
*/
readonly deploymentConfig?: ILambdaDeploymentConfig;
}

File diff suppressed because one or more lines are too long

View File

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

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.LambdaApplication=void 0,Object.defineProperty(exports,_noFold="LambdaApplication",{enumerable:!0,configurable:!0,get:()=>{var value=require("./application").LambdaApplication;return Object.defineProperty(exports,_noFold="LambdaApplication",{enumerable:!0,configurable:!0,value}),value}}),exports.CustomLambdaDeploymentConfigType=void 0,Object.defineProperty(exports,_noFold="CustomLambdaDeploymentConfigType",{enumerable:!0,configurable:!0,get:()=>{var value=require("./custom-deployment-config").CustomLambdaDeploymentConfigType;return Object.defineProperty(exports,_noFold="CustomLambdaDeploymentConfigType",{enumerable:!0,configurable:!0,value}),value}}),exports.CustomLambdaDeploymentConfig=void 0,Object.defineProperty(exports,_noFold="CustomLambdaDeploymentConfig",{enumerable:!0,configurable:!0,get:()=>{var value=require("./custom-deployment-config").CustomLambdaDeploymentConfig;return Object.defineProperty(exports,_noFold="CustomLambdaDeploymentConfig",{enumerable:!0,configurable:!0,value}),value}}),exports.LambdaDeploymentConfig=void 0,Object.defineProperty(exports,_noFold="LambdaDeploymentConfig",{enumerable:!0,configurable:!0,get:()=>{var value=require("./deployment-config").LambdaDeploymentConfig;return Object.defineProperty(exports,_noFold="LambdaDeploymentConfig",{enumerable:!0,configurable:!0,value}),value}}),exports.LambdaDeploymentGroup=void 0,Object.defineProperty(exports,_noFold="LambdaDeploymentGroup",{enumerable:!0,configurable:!0,get:()=>{var value=require("./deployment-group").LambdaDeploymentGroup;return Object.defineProperty(exports,_noFold="LambdaDeploymentGroup",{enumerable:!0,configurable:!0,value}),value}});