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,41 @@
import type { Construct } from 'constructs';
import type { CfnRepository } from './codecommit.generated';
import * as assets from '../../aws-s3-assets';
/**
* Represents the structure to pass into the underlying CfnRepository class.
*/
export interface CodeConfig {
/**
* represents the underlying code structure
*/
readonly code: CfnRepository.CodeProperty;
}
/**
* Represents the contents to initialize the repository with.
*/
export declare abstract class Code {
/**
* Code from directory.
* @param directoryPath the path to the local directory containing the contents to initialize the repository with
* @param branch the name of the branch to create in the repository. Default is "main"
*/
static fromDirectory(directoryPath: string, branch?: string): Code;
/**
* Code from preexisting ZIP file.
* @param filePath the path to the local ZIP file containing the contents to initialize the repository with
* @param branch the name of the branch to create in the repository. Default is "main"
*/
static fromZipFile(filePath: string, branch?: string): Code;
/**
* Code from user-supplied asset.
* @param asset pre-existing asset
* @param branch the name of the branch to create in the repository. Default is "main"
*/
static fromAsset(asset: assets.Asset, branch?: string): Code;
/**
* This method is called after a repository is passed this instance of Code in its 'code' property.
*
* @param scope the binding scope
*/
abstract bind(scope: Construct): CodeConfig;
}

View File

@@ -0,0 +1 @@
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Code=void 0;var jsiiDeprecationWarnings=()=>{var tmp=require("../../.warnings.jsii.js");return jsiiDeprecationWarnings=()=>tmp,tmp};const JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti");var fs=()=>{var tmp=require("fs");return fs=()=>tmp,tmp},path=()=>{var tmp=require("path");return path=()=>tmp,tmp},assets=()=>{var tmp=require("../../aws-s3-assets");return assets=()=>tmp,tmp},core_1=()=>{var tmp=require("../../core");return core_1=()=>tmp,tmp},literal_string_1=()=>{var tmp=require("../../core/lib/private/literal-string");return literal_string_1=()=>tmp,tmp};class Code{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_codecommit.Code",version:"2.252.0"};static fromDirectory(directoryPath,branch){const resolvedPath=path().resolve(directoryPath),statResult=fs().statSync(resolvedPath);if(!statResult||!statResult.isDirectory())throw new(core_1()).UnscopedValidationError((0,literal_string_1().lit)`NeedsPathDirectoryResolved`,`'${directoryPath}' needs to be a path to a directory (resolved to: '${resolvedPath}')`);return new PathResolvedCode(resolvedPath,branch)}static fromZipFile(filePath,branch){const resolvedPath=path().resolve(filePath),statResult=fs().statSync(resolvedPath);if(!statResult||!statResult.isFile())throw new(core_1()).UnscopedValidationError((0,literal_string_1().lit)`NeedsPathFileResolved`,`'${filePath}' needs to be a path to a ZIP file (resolved to: '${resolvedPath}')`);return new PathResolvedCode(resolvedPath,branch)}static fromAsset(asset,branch){try{jsiiDeprecationWarnings().aws_cdk_lib_aws_s3_assets_Asset(asset)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.fromAsset),error}return new AssetCode(asset,branch)}}exports.Code=Code;class PathResolvedCode extends Code{resolvedPath;branch;constructor(resolvedPath,branch){super(),this.resolvedPath=resolvedPath,this.branch=branch}bind(scope){const asset=new(assets()).Asset(scope,"PathResolvedCodeAsset",{path:this.resolvedPath});return new AssetCode(asset,this.branch).bind(scope)}}class AssetCode extends Code{asset;branch;constructor(asset,branch){super(),this.asset=asset,this.branch=branch}bind(scope){if(!this.asset.isZipArchive)throw new(core_1()).ValidationError((0,literal_string_1().lit)`AssetMustBeZipFileOrDirectory`,"Asset must be a .zip file or a directory (resolved to: "+this.asset.assetPath+" )",scope);return{code:{branchName:this.branch,s3:{bucket:this.asset.s3BucketName,key:this.asset.s3ObjectKey}}}}}

View File

@@ -0,0 +1,30 @@
import * as codecommit from "./codecommit.generated";
import * as iam from "../../aws-iam";
import * as cdk from "../../core/lib";
/**
* Collection of grant methods for a IRepositoryRef
*/
export declare class RepositoryGrants {
/**
* Creates grants for RepositoryGrants
*/
static fromRepository(resource: codecommit.IRepositoryRef): RepositoryGrants;
protected readonly resource: codecommit.IRepositoryRef;
private constructor();
/**
* Grant the given identity custom permissions
*/
actions(grantee: iam.IGrantable, actions: Array<string>, options?: cdk.PermissionsOptions): iam.Grant;
/**
* Grants pull permissions
*/
pull(grantee: iam.IGrantable): iam.Grant;
/**
* Grants pullPush permissions
*/
pullPush(grantee: iam.IGrantable): iam.Grant;
/**
* Grants read permissions
*/
read(grantee: iam.IGrantable): iam.Grant;
}

View File

@@ -0,0 +1 @@
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.RepositoryGrants=void 0;var jsiiDeprecationWarnings=()=>{var tmp=require("../../.warnings.jsii.js");return jsiiDeprecationWarnings=()=>tmp,tmp};const JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti");var codecommit=()=>{var tmp=require("./codecommit.generated");return codecommit=()=>tmp,tmp},iam=()=>{var tmp=require("../../aws-iam");return iam=()=>tmp,tmp};class RepositoryGrants{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_codecommit.RepositoryGrants",version:"2.252.0"};static fromRepository(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_codecommit_IRepositoryRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.fromRepository),error}return new RepositoryGrants({resource})}resource;constructor(props){this.resource=props.resource}actions(grantee,actions,options={}){try{jsiiDeprecationWarnings().aws_cdk_lib_aws_iam_IGrantable(grantee),jsiiDeprecationWarnings().aws_cdk_lib_PermissionsOptions(options)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.actions),error}return iam().Grant.addToPrincipal({actions,grantee,resourceArns:options.resourceArns??[codecommit().CfnRepository.arnForRepository(this.resource)]})}pull(grantee){try{jsiiDeprecationWarnings().aws_cdk_lib_aws_iam_IGrantable(grantee)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.pull),error}const actions=["codecommit:GitPull"];return this.actions(grantee,actions,{})}pullPush(grantee){try{jsiiDeprecationWarnings().aws_cdk_lib_aws_iam_IGrantable(grantee)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.pullPush),error}const actions=["codecommit:GitPull","codecommit:GitPush"];return this.actions(grantee,actions,{})}read(grantee){try{jsiiDeprecationWarnings().aws_cdk_lib_aws_iam_IGrantable(grantee)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.read),error}const actions=["codecommit:GitPull","codecommit:EvaluatePullRequestApprovalRules","codecommit:Get*","codecommit:Describe*"];return this.actions(grantee,actions,{})}}exports.RepositoryGrants=RepositoryGrants;

View File

@@ -0,0 +1,321 @@
import * as cdk from "../../core/lib";
import * as constructs from "constructs";
import * as cfn_parse from "../../core/lib/helpers-internal";
import { IRepositoryRef, RepositoryReference } from "../../interfaces/generated/aws-codecommit-interfaces.generated";
/**
* Creates a new, empty repository.
*
* > AWS CodeCommit is no longer available to new customers. Existing customers of AWS CodeCommit can continue to use the service as normal. [Learn more"](https://docs.aws.amazon.com/devops/how-to-migrate-your-aws-codecommit-repository-to-another-git-provider)
*
* @cloudformationResource AWS::CodeCommit::Repository
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codecommit-repository.html
*/
export declare class CfnRepository extends cdk.CfnResource implements cdk.IInspectable, IRepositoryRef, cdk.ITaggable {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnRepository from CloudFormation properties
*
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnRepository;
/**
* Checks whether the given object is a CfnRepository
*/
static isCfnRepository(x: any): x is CfnRepository;
static arnForRepository(resource: IRepositoryRef): string;
/**
* Information about code to be committed to a repository after it is created in an AWS CloudFormation stack.
*/
private _code?;
/**
* The ID of the AWS Key Management Service encryption key used to encrypt and decrypt the repository.
*/
private _kmsKeyId?;
/**
* A comment or description about the new repository.
*/
private _repositoryDescription?;
/**
* The name of the new repository to be created.
*/
private _repositoryName;
/**
* Tag Manager which manages the tags for this resource
*/
readonly tags: cdk.TagManager;
/**
* One or more tag key-value pairs to use when tagging this repository.
*/
private _tagsRaw?;
/**
* The JSON block of configuration information for each trigger.
*/
private _triggers?;
protected readonly cfnPropertyNames: Record<string, string>;
/**
* Create a new `AWS::CodeCommit::Repository`.
*
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props: CfnRepositoryProps);
get repositoryRef(): RepositoryReference;
/**
* Information about code to be committed to a repository after it is created in an AWS CloudFormation stack.
*/
get code(): CfnRepository.CodeProperty | cdk.IResolvable | undefined;
/**
* Information about code to be committed to a repository after it is created in an AWS CloudFormation stack.
*/
set code(value: CfnRepository.CodeProperty | cdk.IResolvable | undefined);
/**
* The ID of the AWS Key Management Service encryption key used to encrypt and decrypt the repository.
*/
get kmsKeyId(): string | undefined;
/**
* The ID of the AWS Key Management Service encryption key used to encrypt and decrypt the repository.
*/
set kmsKeyId(value: string | undefined);
/**
* A comment or description about the new repository.
*/
get repositoryDescription(): string | undefined;
/**
* A comment or description about the new repository.
*/
set repositoryDescription(value: string | undefined);
/**
* The name of the new repository to be created.
*/
get repositoryName(): string;
/**
* The name of the new repository to be created.
*/
set repositoryName(value: string);
/**
* One or more tag key-value pairs to use when tagging this repository.
*/
get tagsRaw(): Array<cdk.CfnTag> | undefined;
/**
* One or more tag key-value pairs to use when tagging this repository.
*/
set tagsRaw(value: Array<cdk.CfnTag> | undefined);
/**
* The JSON block of configuration information for each trigger.
*/
get triggers(): Array<cdk.IResolvable | CfnRepository.RepositoryTriggerProperty> | cdk.IResolvable | undefined;
/**
* The JSON block of configuration information for each trigger.
*/
set triggers(value: Array<cdk.IResolvable | CfnRepository.RepositoryTriggerProperty> | cdk.IResolvable | undefined);
/**
* When you pass the logical ID of this resource, the function returns the Amazon Resource Name (ARN) of the repository.
*
* @cloudformationAttribute Arn
*/
get attrArn(): string;
/**
* When you pass the logical ID of this resource, the function returns the URL to use for cloning the repository over HTTPS.
*
* @cloudformationAttribute CloneUrlHttp
*/
get attrCloneUrlHttp(): string;
/**
* When you pass the logical ID of this resource, the function returns the URL to use for cloning the repository over SSH.
*
* @cloudformationAttribute CloneUrlSsh
*/
get attrCloneUrlSsh(): string;
/**
* @cloudformationAttribute Id
*/
get attrId(): string;
/**
* When you pass the logical ID of this resource, the function returns the repository's name.
*
* @cloudformationAttribute Name
*/
get attrName(): string;
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnRepository {
/**
* Information about a trigger for a repository.
*
* > If you want to receive notifications about repository events, consider using notifications instead of triggers. For more information, see [Configuring notifications for repository events](https://docs.aws.amazon.com/codecommit/latest/userguide/how-to-repository-email.html) .
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-repositorytrigger.html
*/
interface RepositoryTriggerProperty {
/**
* The branches to be included in the trigger configuration.
*
* If you specify an empty array, the trigger applies to all branches.
*
* > Although no content is required in the array, you must include the array itself.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-repositorytrigger.html#cfn-codecommit-repository-repositorytrigger-branches
*/
readonly branches?: Array<string>;
/**
* Any custom data associated with the trigger to be included in the information sent to the target of the trigger.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-repositorytrigger.html#cfn-codecommit-repository-repositorytrigger-customdata
*/
readonly customData?: string;
/**
* The ARN of the resource that is the target for a trigger (for example, the ARN of a topic in Amazon SNS).
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-repositorytrigger.html#cfn-codecommit-repository-repositorytrigger-destinationarn
*/
readonly destinationArn: string;
/**
* The repository events that cause the trigger to run actions in another service, such as sending a notification through Amazon SNS.
*
* > The valid value "all" cannot be used with any other values.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-repositorytrigger.html#cfn-codecommit-repository-repositorytrigger-events
*/
readonly events: Array<string>;
/**
* The name of the trigger.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-repositorytrigger.html#cfn-codecommit-repository-repositorytrigger-name
*/
readonly name: string;
}
/**
* Information about code to be committed.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-code.html
*/
interface CodeProperty {
/**
* Optional.
*
* Specifies a branch name to be used as the default branch when importing code into a repository on initial creation. If this property is not set, the name *main* will be used for the default branch for the repository. Changes to this property are ignored after initial resource creation. We recommend using this parameter to set the name to *main* to align with the default behavior of CodeCommit unless another name is needed.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-code.html#cfn-codecommit-repository-code-branchname
*/
readonly branchName?: string;
/**
* Information about the Amazon S3 bucket that contains a ZIP file of code to be committed to the repository.
*
* Changes to this property are ignored after initial resource creation.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-code.html#cfn-codecommit-repository-code-s3
*/
readonly s3: cdk.IResolvable | CfnRepository.S3Property;
}
/**
* Information about the Amazon S3 bucket that contains the code that will be committed to the new repository.
*
* Changes to this property are ignored after initial resource creation.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-s3.html
*/
interface S3Property {
/**
* The name of the Amazon S3 bucket that contains the ZIP file with the content that will be committed to the new repository.
*
* This can be specified using the name of the bucket in the AWS account . Changes to this property are ignored after initial resource creation.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-s3.html#cfn-codecommit-repository-s3-bucket
*/
readonly bucket: string;
/**
* The key to use for accessing the Amazon S3 bucket.
*
* Changes to this property are ignored after initial resource creation. For more information, see [Creating object key names](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html) and [Uploading objects](https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-objects.html) in the Amazon S3 User Guide.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-s3.html#cfn-codecommit-repository-s3-key
*/
readonly key: string;
/**
* The object version of the ZIP file, if versioning is enabled for the Amazon S3 bucket.
*
* Changes to this property are ignored after initial resource creation.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-s3.html#cfn-codecommit-repository-s3-objectversion
*/
readonly objectVersion?: string;
}
}
/**
* Properties for defining a `CfnRepository`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codecommit-repository.html
*/
export interface CfnRepositoryProps {
/**
* Information about code to be committed to a repository after it is created in an AWS CloudFormation stack.
*
* Information about code is only used in resource creation. Updates to a stack will not reflect changes made to code properties after initial resource creation.
*
* > You can only use this property to add code when creating a repository with a CloudFormation template at creation time. This property cannot be used for updating code to an existing repository.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codecommit-repository.html#cfn-codecommit-repository-code
*/
readonly code?: CfnRepository.CodeProperty | cdk.IResolvable;
/**
* The ID of the AWS Key Management Service encryption key used to encrypt and decrypt the repository.
*
* > The input can be the full ARN, the key ID, or the key alias. For more information, see [Finding the key ID and key ARN](https://docs.aws.amazon.com/kms/latest/developerguide/find-cmk-id-arn.html) .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codecommit-repository.html#cfn-codecommit-repository-kmskeyid
*/
readonly kmsKeyId?: string;
/**
* A comment or description about the new repository.
*
* > The description field for a repository accepts all HTML characters and all valid Unicode characters. Applications that do not HTML-encode the description and display it in a webpage can expose users to potentially malicious code. Make sure that you HTML-encode the description field in any application that uses this API to display the repository description on a webpage.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codecommit-repository.html#cfn-codecommit-repository-repositorydescription
*/
readonly repositoryDescription?: string;
/**
* The name of the new repository to be created.
*
* > The repository name must be unique across the calling AWS account . Repository names are limited to 100 alphanumeric, dash, and underscore characters, and cannot include certain characters. For more information about the limits on repository names, see [Quotas](https://docs.aws.amazon.com/codecommit/latest/userguide/limits.html) in the *AWS CodeCommit User Guide* . The suffix .git is prohibited.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codecommit-repository.html#cfn-codecommit-repository-repositoryname
*/
readonly repositoryName: string;
/**
* One or more tag key-value pairs to use when tagging this repository.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codecommit-repository.html#cfn-codecommit-repository-tags
*/
readonly tags?: Array<cdk.CfnTag>;
/**
* The JSON block of configuration information for each trigger.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codecommit-repository.html#cfn-codecommit-repository-triggers
*/
readonly triggers?: Array<cdk.IResolvable | CfnRepository.RepositoryTriggerProperty> | cdk.IResolvable;
}
export type { IRepositoryRef, RepositoryReference };

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,42 @@
/**
* Fields of CloudWatch Events that change references
*
* @see https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/EventTypes.html#codebuild_event_type
*/
export declare class ReferenceEvent {
/**
* The type of reference event
*
* 'referenceCreated', 'referenceUpdated' or 'referenceDeleted'
*/
static get eventType(): string;
/**
* Name of the CodeCommit repository
*/
static get repositoryName(): string;
/**
* Id of the CodeCommit repository
*/
static get repositoryId(): string;
/**
* Type of reference changed
*
* 'branch' or 'tag'
*/
static get referenceType(): string;
/**
* Name of reference changed (branch or tag name)
*/
static get referenceName(): string;
/**
* Full reference name
*
* For example, 'refs/tags/myTag'
*/
static get referenceFullName(): string;
/**
* Commit id this reference now points to
*/
static get commitId(): string;
private constructor();
}

View File

@@ -0,0 +1 @@
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ReferenceEvent=void 0;const JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti");var events=()=>{var tmp=require("../../aws-events");return events=()=>tmp,tmp};class ReferenceEvent{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_codecommit.ReferenceEvent",version:"2.252.0"};static get eventType(){return events().EventField.fromPath("$.detail.event")}static get repositoryName(){return events().EventField.fromPath("$.detail.repositoryName")}static get repositoryId(){return events().EventField.fromPath("$.detail.repositoryId")}static get referenceType(){return events().EventField.fromPath("$.detail.referenceType")}static get referenceName(){return events().EventField.fromPath("$.detail.referenceName")}static get referenceFullName(){return events().EventField.fromPath("$.detail.referenceFullName")}static get commitId(){return events().EventField.fromPath("$.detail.commitId")}constructor(){}}exports.ReferenceEvent=ReferenceEvent;

View File

@@ -0,0 +1,5 @@
export * from './events';
export * from './repository';
export * from './code';
export * from './codecommit.generated';
export * from './codecommit-grants.generated';

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.ReferenceEvent=void 0,Object.defineProperty(exports,_noFold="ReferenceEvent",{enumerable:!0,configurable:!0,get:()=>{var value=require("./events").ReferenceEvent;return Object.defineProperty(exports,_noFold="ReferenceEvent",{enumerable:!0,configurable:!0,value}),value}}),exports.Repository=void 0,Object.defineProperty(exports,_noFold="Repository",{enumerable:!0,configurable:!0,get:()=>{var value=require("./repository").Repository;return Object.defineProperty(exports,_noFold="Repository",{enumerable:!0,configurable:!0,value}),value}}),exports.RepositoryEventTrigger=void 0,Object.defineProperty(exports,_noFold="RepositoryEventTrigger",{enumerable:!0,configurable:!0,get:()=>{var value=require("./repository").RepositoryEventTrigger;return Object.defineProperty(exports,_noFold="RepositoryEventTrigger",{enumerable:!0,configurable:!0,value}),value}}),exports.RepositoryNotificationEvents=void 0,Object.defineProperty(exports,_noFold="RepositoryNotificationEvents",{enumerable:!0,configurable:!0,get:()=>{var value=require("./repository").RepositoryNotificationEvents;return Object.defineProperty(exports,_noFold="RepositoryNotificationEvents",{enumerable:!0,configurable:!0,value}),value}}),exports.Code=void 0,Object.defineProperty(exports,_noFold="Code",{enumerable:!0,configurable:!0,get:()=>{var value=require("./code").Code;return Object.defineProperty(exports,_noFold="Code",{enumerable:!0,configurable:!0,value}),value}}),exports.CfnRepository=void 0,Object.defineProperty(exports,_noFold="CfnRepository",{enumerable:!0,configurable:!0,get:()=>{var value=require("./codecommit.generated").CfnRepository;return Object.defineProperty(exports,_noFold="CfnRepository",{enumerable:!0,configurable:!0,value}),value}}),exports.RepositoryGrants=void 0,Object.defineProperty(exports,_noFold="RepositoryGrants",{enumerable:!0,configurable:!0,get:()=>{var value=require("./codecommit-grants.generated").RepositoryGrants;return Object.defineProperty(exports,_noFold="RepositoryGrants",{enumerable:!0,configurable:!0,value}),value}});

View File

@@ -0,0 +1,401 @@
import type { Construct } from 'constructs';
import type { Code } from './code';
import { RepositoryGrants } from './codecommit-grants.generated';
import type { IRepositoryRef, RepositoryReference } from './codecommit.generated';
import * as notifications from '../../aws-codestarnotifications';
import * as events from '../../aws-events';
import * as iam from '../../aws-iam';
import type * as kms from '../../aws-kms';
import type { IResource } from '../../core';
import { Resource } from '../../core';
/**
* Additional options to pass to the notification rule.
*/
export interface RepositoryNotifyOnOptions extends notifications.NotificationRuleOptions {
/**
* A list of event types associated with this notification rule for CodeCommit repositories.
* For a complete list of event types and IDs, see Notification concepts in the Developer Tools Console User Guide.
* @see https://docs.aws.amazon.com/dtconsole/latest/userguide/concepts.html#concepts-api
*/
readonly events: RepositoryNotificationEvents[];
}
export interface IRepository extends IResource, notifications.INotificationRuleSource, IRepositoryRef {
/**
* The ARN of this Repository.
* @attribute
*/
readonly repositoryArn: string;
/**
* The human-visible name of this Repository.
* @attribute
*/
readonly repositoryName: string;
/**
* The HTTP clone URL.
* @attribute
*/
readonly repositoryCloneUrlHttp: string;
/**
* The SSH clone URL.
* @attribute
*/
readonly repositoryCloneUrlSsh: string;
/**
* The HTTPS (GRC) clone URL.
*
* HTTPS (GRC) is the protocol to use with git-remote-codecommit (GRC).
*
* It is the recommended method for supporting connections made with federated
* access, identity providers, and temporary credentials.
*
* @see https://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-git-remote-codecommit.html
*/
readonly repositoryCloneUrlGrc: string;
/**
* Defines a CloudWatch event rule which triggers for repository events. Use
* `rule.addEventPattern(pattern)` to specify a filter.
*/
onEvent(id: string, options?: events.OnEventOptions): events.Rule;
/**
* Defines a CloudWatch event rule which triggers when a "CodeCommit
* Repository State Change" event occurs.
*/
onStateChange(id: string, options?: events.OnEventOptions): events.Rule;
/**
* Defines a CloudWatch event rule which triggers when a reference is
* created (i.e. a new branch/tag is created) to the repository.
*/
onReferenceCreated(id: string, options?: events.OnEventOptions): events.Rule;
/**
* Defines a CloudWatch event rule which triggers when a reference is
* updated (i.e. a commit is pushed to an existing or new branch) from the repository.
*/
onReferenceUpdated(id: string, options?: events.OnEventOptions): events.Rule;
/**
* Defines a CloudWatch event rule which triggers when a reference is
* delete (i.e. a branch/tag is deleted) from the repository.
*/
onReferenceDeleted(id: string, options?: events.OnEventOptions): events.Rule;
/**
* Defines a CloudWatch event rule which triggers when a pull request state is changed.
*/
onPullRequestStateChange(id: string, options?: events.OnEventOptions): events.Rule;
/**
* Defines a CloudWatch event rule which triggers when a comment is made on a pull request.
*/
onCommentOnPullRequest(id: string, options?: events.OnEventOptions): events.Rule;
/**
* Defines a CloudWatch event rule which triggers when a comment is made on a commit.
*/
onCommentOnCommit(id: string, options?: events.OnEventOptions): events.Rule;
/**
* Defines a CloudWatch event rule which triggers when a commit is pushed to a branch.
*/
onCommit(id: string, options?: OnCommitOptions): events.Rule;
/**
* Grant the given principal identity permissions to perform the actions on this repository.
*/
grant(grantee: iam.IGrantable, ...actions: string[]): iam.Grant;
/**
* Grant the given identity permissions to pull this repository.
*/
grantPull(grantee: iam.IGrantable): iam.Grant;
/**
* Grant the given identity permissions to pull and push this repository.
*/
grantPullPush(grantee: iam.IGrantable): iam.Grant;
/**
* Grant the given identity permissions to read this repository.
*/
grantRead(grantee: iam.IGrantable): iam.Grant;
/**
* Defines a CodeStar Notification rule triggered when the project
* events specified by you are emitted. Similar to `onEvent` API.
*
* You can also use the methods to define rules for the specific event emitted.
* e.g. `notifyOnPullRequestCreated`.
*
* @returns CodeStar Notifications rule associated with this repository.
*/
notifyOn(id: string, target: notifications.INotificationRuleTarget, options: RepositoryNotifyOnOptions): notifications.INotificationRule;
/**
* Defines a CodeStar Notification rule which triggers when a comment is made on a pull request.
*/
notifyOnPullRequestComment(id: string, target: notifications.INotificationRuleTarget, options?: notifications.NotificationRuleOptions): notifications.INotificationRule;
/**
* Defines a CodeStar Notification rule which triggers when an approval status is changed.
*/
notifyOnApprovalStatusChanged(id: string, target: notifications.INotificationRuleTarget, options?: notifications.NotificationRuleOptions): notifications.INotificationRule;
/**
* Defines a CodeStar Notification rule which triggers when an approval rule is overridden.
*/
notifyOnApprovalRuleOverridden(id: string, target: notifications.INotificationRuleTarget, options?: notifications.NotificationRuleOptions): notifications.INotificationRule;
/**
* Defines a CodeStar Notification rule which triggers when a pull request is created.
*/
notifyOnPullRequestCreated(id: string, target: notifications.INotificationRuleTarget, options?: notifications.NotificationRuleOptions): notifications.INotificationRule;
/**
* Defines a CodeStar Notification rule which triggers when a pull request is merged.
*/
notifyOnPullRequestMerged(id: string, target: notifications.INotificationRuleTarget, options?: notifications.NotificationRuleOptions): notifications.INotificationRule;
/**
* Defines a CodeStar Notification rule which triggers when a new branch or tag is created.
*/
notifyOnBranchOrTagCreated(id: string, target: notifications.INotificationRuleTarget, options?: notifications.NotificationRuleOptions): notifications.INotificationRule;
/**
* Defines a CodeStar Notification rule which triggers when a branch or tag is deleted.
*/
notifyOnBranchOrTagDeleted(id: string, target: notifications.INotificationRuleTarget, options?: notifications.NotificationRuleOptions): notifications.INotificationRule;
}
/**
* Options for the onCommit() method.
*/
export interface OnCommitOptions extends events.OnEventOptions {
/**
* The branch to monitor.
*
* @default - All branches
*/
readonly branches?: string[];
}
/**
* Represents a reference to a CodeCommit Repository.
*
* If you want to create a new Repository managed alongside your CDK code,
* use the `Repository` class.
*
* If you want to reference an already existing Repository,
* use the `Repository.import` method.
*/
declare abstract class RepositoryBase extends Resource implements IRepository {
/** The ARN of this Repository. */
abstract readonly repositoryArn: string;
/** The human-visible name of this Repository. */
abstract readonly repositoryName: string;
/** The HTTP clone URL */
abstract readonly repositoryCloneUrlHttp: string;
/** The SSH clone URL */
abstract readonly repositoryCloneUrlSsh: string;
abstract readonly repositoryCloneUrlGrc: string;
/**
* Collection of grant methods for a Repository
*/
readonly grants: RepositoryGrants;
get repositoryRef(): RepositoryReference;
/**
* Defines a CloudWatch event rule which triggers for repository events. Use
* `rule.addEventPattern(pattern)` to specify a filter.
*/
onEvent(id: string, options?: events.OnEventOptions): events.Rule;
/**
* Defines a CloudWatch event rule which triggers when a "CodeCommit
* Repository State Change" event occurs.
*/
onStateChange(id: string, options?: events.OnEventOptions): events.Rule;
/**
* Defines a CloudWatch event rule which triggers when a reference is
* created (i.e. a new branch/tag is created) to the repository.
*/
onReferenceCreated(id: string, options?: events.OnEventOptions): events.Rule;
/**
* Defines a CloudWatch event rule which triggers when a reference is
* updated (i.e. a commit is pushed to an existing or new branch) from the repository.
*/
onReferenceUpdated(id: string, options?: events.OnEventOptions): events.Rule;
/**
* Defines a CloudWatch event rule which triggers when a reference is
* delete (i.e. a branch/tag is deleted) from the repository.
*/
onReferenceDeleted(id: string, options?: events.OnEventOptions): events.Rule;
/**
* Defines a CloudWatch event rule which triggers when a pull request state is changed.
*/
onPullRequestStateChange(id: string, options?: events.OnEventOptions): events.Rule;
/**
* Defines a CloudWatch event rule which triggers when a comment is made on a pull request.
*/
onCommentOnPullRequest(id: string, options?: events.OnEventOptions): events.Rule;
/**
* Defines a CloudWatch event rule which triggers when a comment is made on a commit.
*/
onCommentOnCommit(id: string, options?: events.OnEventOptions): events.Rule;
/**
* Defines a CloudWatch event rule which triggers when a commit is pushed to a branch.
*/
onCommit(id: string, options?: OnCommitOptions): events.Rule;
/**
* [disable-awslint:no-grants]
*/
grant(grantee: iam.IGrantable, ...actions: string[]): iam.Grant;
/**
*
* The use of this method is discouraged. Please use `grants.pull()` instead.
*
* [disable-awslint:no-grants]
*/
grantPull(grantee: iam.IGrantable): iam.Grant;
/**
*
* The use of this method is discouraged. Please use `grants.pullPush()` instead.
*
* [disable-awslint:no-grants]
*/
grantPullPush(grantee: iam.IGrantable): iam.Grant;
/**
*
* The use of this method is discouraged. Please use `grants.read()` instead.
*
* [disable-awslint:no-grants]
*/
grantRead(grantee: iam.IGrantable): iam.Grant;
notifyOn(id: string, target: notifications.INotificationRuleTarget, options: RepositoryNotifyOnOptions): notifications.INotificationRule;
notifyOnPullRequestComment(id: string, target: notifications.INotificationRuleTarget, options?: notifications.NotificationRuleOptions): notifications.INotificationRule;
notifyOnApprovalStatusChanged(id: string, target: notifications.INotificationRuleTarget, options?: notifications.NotificationRuleOptions): notifications.INotificationRule;
notifyOnApprovalRuleOverridden(id: string, target: notifications.INotificationRuleTarget, options?: notifications.NotificationRuleOptions): notifications.INotificationRule;
notifyOnPullRequestCreated(id: string, target: notifications.INotificationRuleTarget, options?: notifications.NotificationRuleOptions): notifications.INotificationRule;
notifiyOnPullRequestMerged(id: string, target: notifications.INotificationRuleTarget, options?: notifications.NotificationRuleOptions): notifications.INotificationRule;
notifyOnPullRequestMerged(id: string, target: notifications.INotificationRuleTarget, options?: notifications.NotificationRuleOptions): notifications.INotificationRule;
notifyOnBranchOrTagCreated(id: string, target: notifications.INotificationRuleTarget, options?: notifications.NotificationRuleOptions): notifications.INotificationRule;
notifyOnBranchOrTagDeleted(id: string, target: notifications.INotificationRuleTarget, options?: notifications.NotificationRuleOptions): notifications.INotificationRule;
bindAsNotificationRuleSource(_scope: Construct): notifications.NotificationRuleSourceConfig;
}
export interface RepositoryProps {
/**
* Name of the repository.
*
* This property is required for all CodeCommit repositories.
*/
readonly repositoryName: string;
/**
* A description of the repository. Use the description to identify the
* purpose of the repository.
*
* @default - No description.
*/
readonly description?: string;
/**
* The contents with which to initialize the repository after it has been created.
*
* @default - No initialization (create empty repo)
*/
readonly code?: Code;
/**
* The customer managed key used to encrypt and decrypt the data in repository.
*
* @default - Use an AWS managed key
*/
readonly kmsKey?: kms.IKeyRef;
}
/**
* Provides a CodeCommit Repository.
*/
export declare class Repository extends RepositoryBase {
/** Uniquely identifies this class. */
static readonly PROPERTY_INJECTION_ID: string;
/**
* Imports a codecommit repository.
* @param repositoryArn (e.g. `arn:aws:codecommit:us-east-1:123456789012:MyDemoRepo`)
*/
static fromRepositoryArn(scope: Construct, id: string, repositoryArn: string): IRepository;
static fromRepositoryName(scope: Construct, id: string, repositoryName: string): IRepository;
private readonly resource;
private readonly _triggers;
get repositoryArn(): string;
get repositoryName(): string;
get repositoryCloneUrlHttp(): string;
get repositoryCloneUrlSsh(): string;
get repositoryCloneUrlGrc(): string;
constructor(scope: Construct, id: string, props: RepositoryProps);
/**
* Create a trigger to notify another service to run actions on repository events.
* @param arn Arn of the resource that repository events will notify
* @param options Trigger options to run actions
*/
notify(arn: string, options?: RepositoryTriggerOptions): Repository;
}
/**
* Creates for a repository trigger to an SNS topic or Lambda function.
*/
export interface RepositoryTriggerOptions {
/**
* A name for the trigger.Triggers on a repository must have unique names.
*/
readonly name?: string;
/**
* The repository events for which AWS CodeCommit sends information to the
* target, which you specified in the DestinationArn property.If you don't
* specify events, the trigger runs for all repository events.
*/
readonly events?: RepositoryEventTrigger[];
/**
* The names of the branches in the AWS CodeCommit repository that contain
* events that you want to include in the trigger. If you don't specify at
* least one branch, the trigger applies to all branches.
*/
readonly branches?: string[];
/**
* When an event is triggered, additional information that AWS CodeCommit
* includes when it sends information to the target.
*/
readonly customData?: string;
}
/**
* Repository events that will cause the trigger to run actions in another service.
*/
export declare enum RepositoryEventTrigger {
ALL = "all",
UPDATE_REF = "updateReference",
CREATE_REF = "createReference",
DELETE_REF = "deleteReference"
}
/**
* List of event types for AWS CodeCommit
* @see https://docs.aws.amazon.com/dtconsole/latest/userguide/concepts.html#events-ref-repositories
*/
export declare enum RepositoryNotificationEvents {
/**
* Trigger notication when comment made on commit.
*/
COMMIT_COMMENT = "codecommit-repository-comments-on-commits",
/**
* Trigger notification when comment made on pull request.
*/
PULL_REQUEST_COMMENT = "codecommit-repository-comments-on-pull-requests",
/**
* Trigger notification when approval status changed.
*/
APPROVAL_STATUS_CHANGED = "codecommit-repository-approvals-status-changed",
/**
* Trigger notifications when approval rule is overridden.
*/
APPROVAL_RULE_OVERRIDDEN = "codecommit-repository-approvals-rule-override",
/**
* Trigger notification when pull request created.
*/
PULL_REQUEST_CREATED = "codecommit-repository-pull-request-created",
/**
* Trigger notification when pull request source updated.
*/
PULL_REQUEST_SOURCE_UPDATED = "codecommit-repository-pull-request-source-updated",
/**
* Trigger notification when pull request status is changed.
*/
PULL_REQUEST_STATUS_CHANGED = "codecommit-repository-pull-request-status-changed",
/**
* Trigger notification when pull requset is merged.
*/
PULL_REQUEST_MERGED = "codecommit-repository-pull-request-merged",
/**
* Trigger notification when a branch or tag is created.
*/
BRANCH_OR_TAG_CREATED = "codecommit-repository-branches-and-tags-created",
/**
* Trigger notification when a branch or tag is deleted.
*/
BRANCH_OR_TAG_DELETED = "codecommit-repository-branches-and-tags-deleted",
/**
* Trigger notification when a branch or tag is updated.
*/
BRANCH_OR_TAG_UPDATED = "codecommit-repository-branches-and-tags-updated"
}
export {};

File diff suppressed because one or more lines are too long