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,13 @@
{
"targets": {
"java": {
"package": "software.amazon.awscdk.services.route53.targets"
},
"dotnet": {
"namespace": "Amazon.CDK.AWS.Route53.Targets"
},
"python": {
"module": "aws_cdk.aws_route53_targets"
}
}
}

View File

@@ -0,0 +1,266 @@
# Route53 Alias Record Targets for the CDK Route53 Library
This library contains Route53 Alias Record targets for:
- API Gateway custom domains
```ts
import * as apigw from 'aws-cdk-lib/aws-apigateway';
declare const zone: route53.HostedZone;
declare const restApi: apigw.LambdaRestApi;
new route53.ARecord(this, 'AliasRecord', {
zone,
target: route53.RecordTarget.fromAlias(new targets.ApiGateway(restApi)),
// or - route53.RecordTarget.fromAlias(new alias.ApiGatewayDomain(domainName)),
});
```
- API Gateway V2 custom domains
```ts
import * as apigwv2 from 'aws-cdk-lib/aws-apigatewayv2';
declare const zone: route53.HostedZone;
declare const domainName: apigwv2.DomainName;
new route53.ARecord(this, 'AliasRecord', {
zone,
target: route53.RecordTarget.fromAlias(new targets.ApiGatewayv2DomainProperties(domainName.regionalDomainName, domainName.regionalHostedZoneId)),
});
```
- AppSync custom domains
```ts
import * as appsync from 'aws-cdk-lib/aws-appsync';
declare const zone: route53.HostedZone;
declare const graphqlApi: appsync.GraphqlApi;
new route53.ARecord(this, 'AliasRecord', {
zone,
target: route53.RecordTarget.fromAlias(new targets.AppSyncTarget(graphqlApi)),
});
```
- CloudFront distributions
```ts
import * as cloudfront from 'aws-cdk-lib/aws-cloudfront';
declare const zone: route53.HostedZone;
declare const distribution: cloudfront.CloudFrontWebDistribution;
new route53.ARecord(this, 'AliasRecord', {
zone,
target: route53.RecordTarget.fromAlias(new targets.CloudFrontTarget(distribution)),
});
```
- ELBv2 load balancers
By providing optional properties, you can specify whether to evaluate target health.
```ts
import * as elbv2 from 'aws-cdk-lib/aws-elasticloadbalancingv2';
declare const zone: route53.HostedZone;
declare const lb: elbv2.ApplicationLoadBalancer;
new route53.ARecord(this, 'AliasRecord', {
zone,
target: route53.RecordTarget.fromAlias(
new targets.LoadBalancerTarget(lb, {
evaluateTargetHealth: true,
}),
),
});
```
- Classic load balancers
By providing optional properties, you can specify whether to evaluate target health.
```ts
import * as elb from 'aws-cdk-lib/aws-elasticloadbalancing';
declare const zone: route53.HostedZone;
declare const lb: elb.LoadBalancer;
new route53.ARecord(this, 'AliasRecord', {
zone,
target: route53.RecordTarget.fromAlias(
new targets.ClassicLoadBalancerTarget(lb, {
evaluateTargetHealth: true,
}),
),
});
```
**Important:** Based on [AWS documentation](https://aws.amazon.com/de/premiumsupport/knowledge-center/alias-resource-record-set-route53-cli/), all alias record in Route 53 that points to a Elastic Load Balancer will always include _dualstack_ for the DNSName to resolve IPv4/IPv6 addresses (without _dualstack_ IPv6 will not resolve).
For example, if the Amazon-provided DNS for the load balancer is `ALB-xxxxxxx.us-west-2.elb.amazonaws.com`, CDK will create alias target in Route 53 will be `dualstack.ALB-xxxxxxx.us-west-2.elb.amazonaws.com`.
- GlobalAccelerator
By providing optional properties, you can specify whether to evaluate target health.
```ts
import * as globalaccelerator from 'aws-cdk-lib/aws-globalaccelerator';
declare const zone: route53.HostedZone;
declare const accelerator: globalaccelerator.Accelerator;
new route53.ARecord(this, 'AliasRecord', {
zone,
target: route53.RecordTarget.fromAlias(
new targets.GlobalAcceleratorTarget(accelerator, {
evaluateTargetHealth: true,
}),
),
// or
// route53.RecordTarget.fromAlias(new targets.GlobalAcceleratorDomainTarget('xyz.awsglobalaccelerator.com',{
// evaluateTargetHealth: true,
// })),
});
```
**Important:** If you use GlobalAcceleratorDomainTarget, passing a string rather than an instance of IAccelerator, ensure that the string is a valid domain name of an existing Global Accelerator instance.
See [the documentation on DNS addressing](https://docs.aws.amazon.com/global-accelerator/latest/dg/dns-addressing-custom-domains.dns-addressing.html) with Global Accelerator for more info.
- InterfaceVpcEndpoints
**Important:** Based on the CFN docs for VPCEndpoints - [see here](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html#aws-resource-ec2-vpcendpoint-return-values) - the attributes returned for DnsEntries in CloudFormation is a combination of the hosted zone ID and the DNS name. The entries are ordered as follows: regional public DNS, zonal public DNS, private DNS, and wildcard DNS. This order is not enforced for AWS Marketplace services, and therefore this CDK construct is ONLY guaranteed to work with non-marketplace services.
```ts
import * as ec2 from 'aws-cdk-lib/aws-ec2';
declare const zone: route53.HostedZone;
declare const interfaceVpcEndpoint: ec2.InterfaceVpcEndpoint;
new route53.ARecord(this, 'AliasRecord', {
zone,
target: route53.RecordTarget.fromAlias(new targets.InterfaceVpcEndpointTarget(interfaceVpcEndpoint)),
});
```
- S3 Bucket Website:
**Important:** The Bucket name must strictly match the full DNS name.
See [the Developer Guide](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/getting-started.html) for more info.
By providing optional properties, you can specify whether to evaluate target health.
```ts
import * as s3 from 'aws-cdk-lib/aws-s3';
const recordName = 'www';
const domainName = 'example.com';
const bucketWebsite = new s3.Bucket(this, 'BucketWebsite', {
bucketName: [recordName, domainName].join('.'), // www.example.com
publicReadAccess: true,
websiteIndexDocument: 'index.html',
});
const zone = route53.HostedZone.fromLookup(this, 'Zone', { domainName }); // example.com
new route53.ARecord(this, 'AliasRecord', {
zone,
recordName, // www
target: route53.RecordTarget.fromAlias(
new targets.BucketWebsiteTarget(bucketWebsite, {
evaluateTargetHealth: true,
}),
),
});
```
- User pool domain
```ts
import * as cognito from 'aws-cdk-lib/aws-cognito';
declare const zone: route53.HostedZone;
declare const domain: cognito.UserPoolDomain;
new route53.ARecord(this, 'AliasRecord', {
zone,
target: route53.RecordTarget.fromAlias(new targets.UserPoolDomainTarget(domain)),
});
```
- Route 53 record
```ts
declare const zone: route53.HostedZone;
declare const record: route53.ARecord;
new route53.ARecord(this, 'AliasRecord', {
zone,
target: route53.RecordTarget.fromAlias(new targets.Route53RecordTarget(record)),
});
```
- Elastic Beanstalk environment:
**Important:** Only supports Elastic Beanstalk environments created after 2016 that have a regional endpoint.
By providing optional properties, you can specify whether to evaluate target health.
```ts
declare const zone: route53.HostedZone;
declare const ebsEnvironmentUrl: string;
new route53.ARecord(this, 'AliasRecord', {
zone,
target: route53.RecordTarget.fromAlias(
new targets.ElasticBeanstalkEnvironmentEndpointTarget(ebsEnvironmentUrl, {
evaluateTargetHealth: true,
}),
),
});
```
If Elastic Beanstalk environment URL is not available at synth time, you can specify Hosted Zone ID of the target
```ts
import { RegionInfo } from 'aws-cdk-lib/region-info';
declare const zone: route53.HostedZone;
declare const ebsEnvironmentUrl: string;
new route53.ARecord(this, 'AliasRecord', {
zone,
target: route53.RecordTarget.fromAlias(
new targets.ElasticBeanstalkEnvironmentEndpointTarget(ebsEnvironmentUrl, {
hostedZoneId: RegionInfo.get('us-east-1').ebsEnvEndpointHostedZoneId,
}),
),
});
```
Or you can specify Stack region for CDK to generate the correct Hosted Zone ID.
```ts
import { App } from 'aws-cdk-lib';
declare const app: App;
declare const zone: route53.HostedZone;
declare const ebsEnvironmentUrl: string;
const stack = new Stack(app, 'my-stack', {
env: {
region: 'us-east-1',
},
});
new route53.ARecord(stack, 'AliasRecord', {
zone,
target: route53.RecordTarget.fromAlias(
new targets.ElasticBeanstalkEnvironmentEndpointTarget(ebsEnvironmentUrl),
),
});
```
See the documentation of `aws-cdk-lib/aws-route53` for more information.

View File

@@ -0,0 +1 @@
export * from './lib';

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.ApiGatewayDomain=void 0,Object.defineProperty(exports,_noFold="ApiGatewayDomain",{enumerable:!0,configurable:!0,get:()=>{var value=require("./lib").ApiGatewayDomain;return Object.defineProperty(exports,_noFold="ApiGatewayDomain",{enumerable:!0,configurable:!0,value}),value}}),exports.ApiGateway=void 0,Object.defineProperty(exports,_noFold="ApiGateway",{enumerable:!0,configurable:!0,get:()=>{var value=require("./lib").ApiGateway;return Object.defineProperty(exports,_noFold="ApiGateway",{enumerable:!0,configurable:!0,value}),value}}),exports.ApiGatewayv2DomainProperties=void 0,Object.defineProperty(exports,_noFold="ApiGatewayv2DomainProperties",{enumerable:!0,configurable:!0,get:()=>{var value=require("./lib").ApiGatewayv2DomainProperties;return Object.defineProperty(exports,_noFold="ApiGatewayv2DomainProperties",{enumerable:!0,configurable:!0,value}),value}}),exports.AppSyncTarget=void 0,Object.defineProperty(exports,_noFold="AppSyncTarget",{enumerable:!0,configurable:!0,get:()=>{var value=require("./lib").AppSyncTarget;return Object.defineProperty(exports,_noFold="AppSyncTarget",{enumerable:!0,configurable:!0,value}),value}}),exports.BucketWebsiteTarget=void 0,Object.defineProperty(exports,_noFold="BucketWebsiteTarget",{enumerable:!0,configurable:!0,get:()=>{var value=require("./lib").BucketWebsiteTarget;return Object.defineProperty(exports,_noFold="BucketWebsiteTarget",{enumerable:!0,configurable:!0,value}),value}}),exports.ElasticBeanstalkEnvironmentEndpointTarget=void 0,Object.defineProperty(exports,_noFold="ElasticBeanstalkEnvironmentEndpointTarget",{enumerable:!0,configurable:!0,get:()=>{var value=require("./lib").ElasticBeanstalkEnvironmentEndpointTarget;return Object.defineProperty(exports,_noFold="ElasticBeanstalkEnvironmentEndpointTarget",{enumerable:!0,configurable:!0,value}),value}}),exports.ClassicLoadBalancerTarget=void 0,Object.defineProperty(exports,_noFold="ClassicLoadBalancerTarget",{enumerable:!0,configurable:!0,get:()=>{var value=require("./lib").ClassicLoadBalancerTarget;return Object.defineProperty(exports,_noFold="ClassicLoadBalancerTarget",{enumerable:!0,configurable:!0,value}),value}}),exports.CloudFrontTarget=void 0,Object.defineProperty(exports,_noFold="CloudFrontTarget",{enumerable:!0,configurable:!0,get:()=>{var value=require("./lib").CloudFrontTarget;return Object.defineProperty(exports,_noFold="CloudFrontTarget",{enumerable:!0,configurable:!0,value}),value}}),exports.LoadBalancerTarget=void 0,Object.defineProperty(exports,_noFold="LoadBalancerTarget",{enumerable:!0,configurable:!0,get:()=>{var value=require("./lib").LoadBalancerTarget;return Object.defineProperty(exports,_noFold="LoadBalancerTarget",{enumerable:!0,configurable:!0,value}),value}}),exports.InterfaceVpcEndpointTarget=void 0,Object.defineProperty(exports,_noFold="InterfaceVpcEndpointTarget",{enumerable:!0,configurable:!0,get:()=>{var value=require("./lib").InterfaceVpcEndpointTarget;return Object.defineProperty(exports,_noFold="InterfaceVpcEndpointTarget",{enumerable:!0,configurable:!0,value}),value}}),exports.UserPoolDomainTarget=void 0,Object.defineProperty(exports,_noFold="UserPoolDomainTarget",{enumerable:!0,configurable:!0,get:()=>{var value=require("./lib").UserPoolDomainTarget;return Object.defineProperty(exports,_noFold="UserPoolDomainTarget",{enumerable:!0,configurable:!0,value}),value}}),exports.GlobalAcceleratorDomainTarget=void 0,Object.defineProperty(exports,_noFold="GlobalAcceleratorDomainTarget",{enumerable:!0,configurable:!0,get:()=>{var value=require("./lib").GlobalAcceleratorDomainTarget;return Object.defineProperty(exports,_noFold="GlobalAcceleratorDomainTarget",{enumerable:!0,configurable:!0,value}),value}}),exports.GlobalAcceleratorTarget=void 0,Object.defineProperty(exports,_noFold="GlobalAcceleratorTarget",{enumerable:!0,configurable:!0,get:()=>{var value=require("./lib").GlobalAcceleratorTarget;return Object.defineProperty(exports,_noFold="GlobalAcceleratorTarget",{enumerable:!0,configurable:!0,value}),value}}),exports.Route53RecordTarget=void 0,Object.defineProperty(exports,_noFold="Route53RecordTarget",{enumerable:!0,configurable:!0,get:()=>{var value=require("./lib").Route53RecordTarget;return Object.defineProperty(exports,_noFold="Route53RecordTarget",{enumerable:!0,configurable:!0,value}),value}});

View File

@@ -0,0 +1,23 @@
import type * as apig from '../../aws-apigateway';
import type * as route53 from '../../aws-route53';
/**
* Defines an API Gateway domain name as the alias target.
*
* Use the `ApiGateway` class if you wish to map the alias to an REST API with a
* domain name defined through the `RestApiProps.domainName` prop.
*/
export declare class ApiGatewayDomain implements route53.IAliasRecordTarget {
private readonly domainName;
constructor(domainName: apig.IDomainName);
bind(_record: route53.IRecordSet, _zone?: route53.IHostedZone): route53.AliasRecordTargetConfig;
}
/**
* Defines an API Gateway REST API as the alias target. Requires that the domain
* name will be defined through `RestApiProps.domainName`.
*
* You can direct the alias to any `apigateway.DomainName` resource through the
* `ApiGatewayDomain` class.
*/
export declare class ApiGateway extends ApiGatewayDomain {
constructor(api: apig.RestApiBase);
}

View File

@@ -0,0 +1 @@
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ApiGateway=exports.ApiGatewayDomain=void 0;var jsiiDeprecationWarnings=()=>{var tmp=require("../../.warnings.jsii.js");return jsiiDeprecationWarnings=()=>tmp,tmp};const JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti");var errors_1=()=>{var tmp=require("../../core/lib/errors");return errors_1=()=>tmp,tmp},literal_string_1=()=>{var tmp=require("../../core/lib/private/literal-string");return literal_string_1=()=>tmp,tmp};class ApiGatewayDomain{domainName;static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_route53_targets.ApiGatewayDomain",version:"2.252.0"};constructor(domainName){this.domainName=domainName;try{jsiiDeprecationWarnings().aws_cdk_lib_aws_apigateway_IDomainName(domainName)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,ApiGatewayDomain),error}}bind(_record,_zone){try{jsiiDeprecationWarnings().aws_cdk_lib_aws_route53_IRecordSet(_record),jsiiDeprecationWarnings().aws_cdk_lib_aws_route53_IHostedZone(_zone)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.bind),error}return{dnsName:this.domainName.domainNameAliasDomainName,hostedZoneId:this.domainName.domainNameAliasHostedZoneId}}}exports.ApiGatewayDomain=ApiGatewayDomain;class ApiGateway extends ApiGatewayDomain{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_route53_targets.ApiGateway",version:"2.252.0"};constructor(api){try{jsiiDeprecationWarnings().aws_cdk_lib_aws_apigateway_RestApiBase(api)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,ApiGateway),error}if(!api.domainName)throw new(errors_1()).ValidationError((0,literal_string_1().lit)`DefineDefaultDomainName`,"API does not define a default domain name",api);super(api.domainName)}}exports.ApiGateway=ApiGateway;

View File

@@ -0,0 +1,14 @@
import type * as route53 from '../../aws-route53';
/**
* Defines an API Gateway V2 domain name as the alias target.
*/
export declare class ApiGatewayv2DomainProperties implements route53.IAliasRecordTarget {
private readonly regionalDomainName;
private readonly regionalHostedZoneId;
/**
* @param regionalDomainName the domain name associated with the regional endpoint for this custom domain name.
* @param regionalHostedZoneId the region-specific Amazon Route 53 Hosted Zone ID of the regional endpoint.
*/
constructor(regionalDomainName: string, regionalHostedZoneId: string);
bind(_record: route53.IRecordSet, _zone?: route53.IHostedZone): route53.AliasRecordTargetConfig;
}

View File

@@ -0,0 +1 @@
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ApiGatewayv2DomainProperties=void 0;var jsiiDeprecationWarnings=()=>{var tmp=require("../../.warnings.jsii.js");return jsiiDeprecationWarnings=()=>tmp,tmp};const JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti");class ApiGatewayv2DomainProperties{regionalDomainName;regionalHostedZoneId;static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_route53_targets.ApiGatewayv2DomainProperties",version:"2.252.0"};constructor(regionalDomainName,regionalHostedZoneId){this.regionalDomainName=regionalDomainName,this.regionalHostedZoneId=regionalHostedZoneId}bind(_record,_zone){try{jsiiDeprecationWarnings().aws_cdk_lib_aws_route53_IRecordSet(_record),jsiiDeprecationWarnings().aws_cdk_lib_aws_route53_IHostedZone(_zone)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.bind),error}return{dnsName:this.regionalDomainName,hostedZoneId:this.regionalHostedZoneId}}}exports.ApiGatewayv2DomainProperties=ApiGatewayv2DomainProperties;

View File

@@ -0,0 +1,11 @@
import type { GraphqlApi } from '../../aws-appsync';
import type { AliasRecordTargetConfig, IAliasRecordTarget, IHostedZone, IRecordSet } from '../../aws-route53';
/**
* Defines an AppSync Graphql API as the alias target. Requires that the domain
* name will be defined through `GraphqlApiProps.domainName`.
*/
export declare class AppSyncTarget implements IAliasRecordTarget {
private readonly graphqlApi;
constructor(graphqlApi: GraphqlApi);
bind(_record: IRecordSet, _zone?: IHostedZone): AliasRecordTargetConfig;
}

View File

@@ -0,0 +1 @@
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.AppSyncTarget=void 0;var jsiiDeprecationWarnings=()=>{var tmp=require("../../.warnings.jsii.js");return jsiiDeprecationWarnings=()=>tmp,tmp};const JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti");var cloudfront_target_1=()=>{var tmp=require("./cloudfront-target");return cloudfront_target_1=()=>tmp,tmp};class AppSyncTarget{graphqlApi;static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_route53_targets.AppSyncTarget",version:"2.252.0"};constructor(graphqlApi){this.graphqlApi=graphqlApi;try{jsiiDeprecationWarnings().aws_cdk_lib_aws_appsync_GraphqlApi(graphqlApi)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,AppSyncTarget),error}}bind(_record,_zone){try{jsiiDeprecationWarnings().aws_cdk_lib_aws_route53_IRecordSet(_record),jsiiDeprecationWarnings().aws_cdk_lib_aws_route53_IHostedZone(_zone)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.bind),error}return{dnsName:this.graphqlApi.appSyncDomainName,hostedZoneId:cloudfront_target_1().CloudFrontTarget.getHostedZoneId(this.graphqlApi)}}}exports.AppSyncTarget=AppSyncTarget;

View File

@@ -0,0 +1,12 @@
import type { IAliasRecordTargetProps } from './shared';
import type * as route53 from '../../aws-route53';
import type * as s3 from '../../aws-s3';
/**
* Use a S3 as an alias record target
*/
export declare class BucketWebsiteTarget implements route53.IAliasRecordTarget {
private readonly bucket;
private readonly props?;
constructor(bucket: s3.IBucket, props?: IAliasRecordTargetProps | undefined);
bind(record: route53.IRecordSet, _zone?: route53.IHostedZone): route53.AliasRecordTargetConfig;
}

View File

@@ -0,0 +1 @@
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.BucketWebsiteTarget=void 0;var jsiiDeprecationWarnings=()=>{var tmp=require("../../.warnings.jsii.js");return jsiiDeprecationWarnings=()=>tmp,tmp};const JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti");var core_1=()=>{var tmp=require("../../core");return core_1=()=>tmp,tmp},errors_1=()=>{var tmp=require("../../core/lib/errors");return errors_1=()=>tmp,tmp},literal_string_1=()=>{var tmp=require("../../core/lib/private/literal-string");return literal_string_1=()=>tmp,tmp},region_info_1=()=>{var tmp=require("../../region-info");return region_info_1=()=>tmp,tmp};class BucketWebsiteTarget{bucket;props;static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_route53_targets.BucketWebsiteTarget",version:"2.252.0"};constructor(bucket,props){this.bucket=bucket,this.props=props;try{jsiiDeprecationWarnings().aws_cdk_lib_aws_s3_IBucket(bucket),jsiiDeprecationWarnings().aws_cdk_lib_aws_route53_targets_IAliasRecordTargetProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,BucketWebsiteTarget),error}}bind(record,_zone){try{jsiiDeprecationWarnings().aws_cdk_lib_aws_route53_IRecordSet(record),jsiiDeprecationWarnings().aws_cdk_lib_aws_route53_IHostedZone(_zone)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.bind),error}const{region}=core_1().Stack.of(this.bucket.stack);if(core_1().Token.isUnresolved(region))throw new(errors_1()).ValidationError((0,literal_string_1().lit)`RegionAgnosticStackNotSupported`,["Cannot use an S3 record alias in region-agnostic stacks.","You must specify a specific region when you define the stack","(see https://docs.aws.amazon.com/cdk/latest/guide/environments.html)"].join(" "),record);const{s3StaticWebsiteHostedZoneId:hostedZoneId,s3StaticWebsiteEndpoint:dnsName}=region_info_1().RegionInfo.get(region);if(!hostedZoneId||!dnsName)throw new(errors_1()).ValidationError((0,literal_string_1().lit)`BucketWebsiteTargetSupported`,`Bucket website target is not supported for the "${region}" region`,record);return{hostedZoneId,dnsName,evaluateTargetHealth:this.props?.evaluateTargetHealth}}}exports.BucketWebsiteTarget=BucketWebsiteTarget;

View File

@@ -0,0 +1,12 @@
import type { IAliasRecordTargetProps } from './shared';
import type * as elb from '../../aws-elasticloadbalancing';
import type * as route53 from '../../aws-route53';
/**
* Use a classic ELB as an alias record target
*/
export declare class ClassicLoadBalancerTarget implements route53.IAliasRecordTarget {
private readonly loadBalancer;
private readonly props?;
constructor(loadBalancer: elb.LoadBalancer, props?: IAliasRecordTargetProps | undefined);
bind(_record: route53.IRecordSet, _zone?: route53.IHostedZone): route53.AliasRecordTargetConfig;
}

View File

@@ -0,0 +1 @@
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ClassicLoadBalancerTarget=void 0;var jsiiDeprecationWarnings=()=>{var tmp=require("../../.warnings.jsii.js");return jsiiDeprecationWarnings=()=>tmp,tmp};const JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti");class ClassicLoadBalancerTarget{loadBalancer;props;static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_route53_targets.ClassicLoadBalancerTarget",version:"2.252.0"};constructor(loadBalancer,props){this.loadBalancer=loadBalancer,this.props=props;try{jsiiDeprecationWarnings().aws_cdk_lib_aws_elasticloadbalancing_LoadBalancer(loadBalancer),jsiiDeprecationWarnings().aws_cdk_lib_aws_route53_targets_IAliasRecordTargetProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,ClassicLoadBalancerTarget),error}}bind(_record,_zone){try{jsiiDeprecationWarnings().aws_cdk_lib_aws_route53_IRecordSet(_record),jsiiDeprecationWarnings().aws_cdk_lib_aws_route53_IHostedZone(_zone)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.bind),error}return{hostedZoneId:this.loadBalancer.loadBalancerCanonicalHostedZoneNameId,dnsName:`dualstack.${this.loadBalancer.loadBalancerDnsName}`,evaluateTargetHealth:this.props?.evaluateTargetHealth}}}exports.ClassicLoadBalancerTarget=ClassicLoadBalancerTarget;

View File

@@ -0,0 +1,22 @@
import type { IConstruct } from 'constructs';
import type * as cloudfront from '../../aws-cloudfront';
import type * as route53 from '../../aws-route53';
/**
* Use a CloudFront Distribution as an alias record target
*/
export declare class CloudFrontTarget implements route53.IAliasRecordTarget {
private readonly distribution;
/**
* The hosted zone Id if using an alias record in Route53.
* This value never changes.
*/
static readonly CLOUDFRONT_ZONE_ID = "Z2FDTNDATAQYW2";
/**
* Get the hosted zone id for the current scope.
*
* @param scope - scope in which this resource is defined
*/
static getHostedZoneId(scope: IConstruct): string;
constructor(distribution: cloudfront.IDistribution);
bind(_record: route53.IRecordSet, _zone?: route53.IHostedZone): route53.AliasRecordTargetConfig;
}

View File

@@ -0,0 +1 @@
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CloudFrontTarget=void 0;var jsiiDeprecationWarnings=()=>{var tmp=require("../../.warnings.jsii.js");return jsiiDeprecationWarnings=()=>tmp,tmp};const JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti");var core_1=()=>{var tmp=require("../../core");return core_1=()=>tmp,tmp};class CloudFrontTarget{distribution;static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_route53_targets.CloudFrontTarget",version:"2.252.0"};static CLOUDFRONT_ZONE_ID="Z2FDTNDATAQYW2";static getHostedZoneId(scope){const mappingName="AWSCloudFrontPartitionHostedZoneIdMap",scopeStack=core_1().Stack.of(scope);return(scopeStack.node.tryFindChild(mappingName)??new(core_1()).CfnMapping(scopeStack,mappingName,{mapping:{aws:{zoneId:"Z2FDTNDATAQYW2"},"aws-cn":{zoneId:"Z3RFFRIM2A3IF5"}}})).findInMap(core_1().Aws.PARTITION,"zoneId")}constructor(distribution){this.distribution=distribution;try{jsiiDeprecationWarnings().aws_cdk_lib_aws_cloudfront_IDistribution(distribution)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CloudFrontTarget),error}}bind(_record,_zone){try{jsiiDeprecationWarnings().aws_cdk_lib_aws_route53_IRecordSet(_record),jsiiDeprecationWarnings().aws_cdk_lib_aws_route53_IHostedZone(_zone)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.bind),error}return{hostedZoneId:CloudFrontTarget.getHostedZoneId(this.distribution),dnsName:this.distribution.distributionDomainName}}}exports.CloudFrontTarget=CloudFrontTarget;

View File

@@ -0,0 +1,16 @@
import type { IAliasRecordTargetProps } from './shared';
import type * as route53 from '../../aws-route53';
/**
* Use an Elastic Beanstalk environment URL as an alias record target.
* E.g. mysampleenvironment.xyz.us-east-1.elasticbeanstalk.com
* or mycustomcnameprefix.us-east-1.elasticbeanstalk.com
*
* Only supports Elastic Beanstalk environments created after 2016 that have a regional endpoint.
*/
export declare class ElasticBeanstalkEnvironmentEndpointTarget implements route53.IAliasRecordTarget {
private readonly environmentEndpoint;
private readonly props?;
private hostedZoneId?;
constructor(environmentEndpoint: string, props?: IAliasRecordTargetProps | undefined);
bind(record: route53.IRecordSet, _zone?: route53.IHostedZone): route53.AliasRecordTargetConfig;
}

View File

@@ -0,0 +1 @@
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ElasticBeanstalkEnvironmentEndpointTarget=void 0;var jsiiDeprecationWarnings=()=>{var tmp=require("../../.warnings.jsii.js");return jsiiDeprecationWarnings=()=>tmp,tmp};const JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti");var cdk=()=>{var tmp=require("../../core");return cdk=()=>tmp,tmp},errors_1=()=>{var tmp=require("../../core/lib/errors");return errors_1=()=>tmp,tmp},literal_string_1=()=>{var tmp=require("../../core/lib/private/literal-string");return literal_string_1=()=>tmp,tmp},region_info_1=()=>{var tmp=require("../../region-info");return region_info_1=()=>tmp,tmp};class ElasticBeanstalkEnvironmentEndpointTarget{environmentEndpoint;props;static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_route53_targets.ElasticBeanstalkEnvironmentEndpointTarget",version:"2.252.0"};hostedZoneId;constructor(environmentEndpoint,props){this.environmentEndpoint=environmentEndpoint,this.props=props;try{jsiiDeprecationWarnings().aws_cdk_lib_aws_route53_targets_IAliasRecordTargetProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,ElasticBeanstalkEnvironmentEndpointTarget),error}this.hostedZoneId=props?.hostedZoneId}bind(record,_zone){try{jsiiDeprecationWarnings().aws_cdk_lib_aws_route53_IRecordSet(record),jsiiDeprecationWarnings().aws_cdk_lib_aws_route53_IHostedZone(_zone)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.bind),error}if(!this.hostedZoneId){let{region}=cdk().Stack.of(record);if(!cdk().Token.isUnresolved(this.environmentEndpoint)){const subDomains=cdk().Fn.split(".",this.environmentEndpoint),regionSubdomainIndex=subDomains.length-3;region=cdk().Fn.select(regionSubdomainIndex,subDomains)}this.hostedZoneId=region_info_1().RegionInfo.get(region).ebsEnvEndpointHostedZoneId}if(!this.hostedZoneId)throw new(errors_1()).ValidationError((0,literal_string_1().lit)`CannotFindBeanstalkHostedZone`,"Cannot find Beanstalk `hostedZoneId`. You must specify either `hostedZoneId` using `RegionInfo.get(yourRegion).ebsEnvEndpointHostedZoneId` or Stack region or find correct EBS environment endpoint via AWS console. See Elastic Beanstalk developer guide: https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customdomains.html",record);return{hostedZoneId:this.hostedZoneId,dnsName:this.environmentEndpoint,evaluateTargetHealth:this.props?.evaluateTargetHealth}}}exports.ElasticBeanstalkEnvironmentEndpointTarget=ElasticBeanstalkEnvironmentEndpointTarget;

View File

@@ -0,0 +1,30 @@
import type { IAliasRecordTargetProps } from './shared';
import type * as route53 from '../../aws-route53';
import type { IAcceleratorRef } from '../../interfaces/generated/aws-globalaccelerator-interfaces.generated';
/**
* Use a Global Accelerator domain name as an alias record target.
*/
export declare class GlobalAcceleratorDomainTarget implements route53.IAliasRecordTarget {
private readonly acceleratorDomainName;
private readonly props?;
/**
* The hosted zone Id if using an alias record in Route53.
* This value never changes.
* Ref: https://docs.aws.amazon.com/general/latest/gr/global_accelerator.html
*/
static readonly GLOBAL_ACCELERATOR_ZONE_ID = "Z2BJ6XQ5FK7U4H";
/**
* Create an Alias Target for a Global Accelerator domain name.
*/
constructor(acceleratorDomainName: string, props?: IAliasRecordTargetProps | undefined);
bind(_record: route53.IRecordSet, _zone?: route53.IHostedZone): route53.AliasRecordTargetConfig;
}
/**
* Use a Global Accelerator instance domain name as an alias record target.
*/
export declare class GlobalAcceleratorTarget extends GlobalAcceleratorDomainTarget {
/**
* Create an Alias Target for a Global Accelerator instance.
*/
constructor(accelerator: IAcceleratorRef, props?: IAliasRecordTargetProps);
}

View File

@@ -0,0 +1 @@
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.GlobalAcceleratorTarget=exports.GlobalAcceleratorDomainTarget=void 0;var jsiiDeprecationWarnings=()=>{var tmp=require("../../.warnings.jsii.js");return jsiiDeprecationWarnings=()=>tmp,tmp};const JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti");var 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 GlobalAcceleratorDomainTarget{acceleratorDomainName;props;static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_route53_targets.GlobalAcceleratorDomainTarget",version:"2.252.0"};static GLOBAL_ACCELERATOR_ZONE_ID="Z2BJ6XQ5FK7U4H";constructor(acceleratorDomainName,props){this.acceleratorDomainName=acceleratorDomainName,this.props=props;try{jsiiDeprecationWarnings().aws_cdk_lib_aws_route53_targets_IAliasRecordTargetProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,GlobalAcceleratorDomainTarget),error}}bind(_record,_zone){try{jsiiDeprecationWarnings().aws_cdk_lib_aws_route53_IRecordSet(_record),jsiiDeprecationWarnings().aws_cdk_lib_aws_route53_IHostedZone(_zone)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.bind),error}return{hostedZoneId:GlobalAcceleratorTarget.GLOBAL_ACCELERATOR_ZONE_ID,dnsName:this.acceleratorDomainName,evaluateTargetHealth:this.props?.evaluateTargetHealth}}}exports.GlobalAcceleratorDomainTarget=GlobalAcceleratorDomainTarget;class GlobalAcceleratorTarget extends GlobalAcceleratorDomainTarget{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_route53_targets.GlobalAcceleratorTarget",version:"2.252.0"};constructor(accelerator,props){super(toIAccelerator(accelerator).dnsName,props);try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_globalaccelerator_IAcceleratorRef(accelerator),jsiiDeprecationWarnings().aws_cdk_lib_aws_route53_targets_IAliasRecordTargetProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,GlobalAcceleratorTarget),error}}}exports.GlobalAcceleratorTarget=GlobalAcceleratorTarget;function toIAccelerator(accelerator){if(!("dnsName"in accelerator)||typeof accelerator.dnsName!="string")throw new(core_1()).UnscopedValidationError((0,literal_string_1().lit)`AcceleratorInstanceShouldImplement`,`'accelerator' instance should implement IAccelerator, but doesn't: ${accelerator.constructor.name}`);return accelerator}

View File

@@ -0,0 +1,13 @@
export * from './shared';
export * from './api-gateway-domain-name';
export * from './api-gatewayv2-domain-name';
export * from './appsync-target';
export * from './bucket-website-target';
export * from './elastic-beanstalk-environment-target';
export * from './classic-load-balancer-target';
export * from './cloudfront-target';
export * from './load-balancer-target';
export * from './interface-vpc-endpoint-target';
export * from './userpool-domain';
export * from './global-accelerator-target';
export * from './route53-record';

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,11 @@
import type * as ec2 from '../../aws-ec2';
import type * as route53 from '../../aws-route53';
/**
* Set an InterfaceVpcEndpoint as a target for an ARecord
*/
export declare class InterfaceVpcEndpointTarget implements route53.IAliasRecordTarget {
private readonly vpcEndpoint;
private readonly cfnVpcEndpoint;
constructor(vpcEndpoint: ec2.InterfaceVpcEndpoint);
bind(_record: route53.IRecordSet, _zone?: route53.IHostedZone): route53.AliasRecordTargetConfig;
}

View File

@@ -0,0 +1 @@
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.InterfaceVpcEndpointTarget=void 0;var jsiiDeprecationWarnings=()=>{var tmp=require("../../.warnings.jsii.js");return jsiiDeprecationWarnings=()=>tmp,tmp};const JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti");var cdk=()=>{var tmp=require("../../core");return cdk=()=>tmp,tmp};class InterfaceVpcEndpointTarget{vpcEndpoint;static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_route53_targets.InterfaceVpcEndpointTarget",version:"2.252.0"};cfnVpcEndpoint;constructor(vpcEndpoint){this.vpcEndpoint=vpcEndpoint;try{jsiiDeprecationWarnings().aws_cdk_lib_aws_ec2_InterfaceVpcEndpoint(vpcEndpoint)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,InterfaceVpcEndpointTarget),error}this.cfnVpcEndpoint=this.vpcEndpoint.node.findChild("Resource")}bind(_record,_zone){try{jsiiDeprecationWarnings().aws_cdk_lib_aws_route53_IRecordSet(_record),jsiiDeprecationWarnings().aws_cdk_lib_aws_route53_IHostedZone(_zone)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.bind),error}return{dnsName:cdk().Fn.select(1,cdk().Fn.split(":",cdk().Fn.select(0,this.cfnVpcEndpoint.attrDnsEntries))),hostedZoneId:cdk().Fn.select(0,cdk().Fn.split(":",cdk().Fn.select(0,this.cfnVpcEndpoint.attrDnsEntries)))}}}exports.InterfaceVpcEndpointTarget=InterfaceVpcEndpointTarget;

View File

@@ -0,0 +1,12 @@
import type { IAliasRecordTargetProps } from './shared';
import type * as elbv2 from '../../aws-elasticloadbalancingv2';
import type * as route53 from '../../aws-route53';
/**
* Use an ELBv2 as an alias record target
*/
export declare class LoadBalancerTarget implements route53.IAliasRecordTarget {
private readonly loadBalancer;
private readonly props?;
constructor(loadBalancer: elbv2.ILoadBalancerV2, props?: IAliasRecordTargetProps | undefined);
bind(_record: route53.IRecordSet, _zone?: route53.IHostedZone): route53.AliasRecordTargetConfig;
}

View File

@@ -0,0 +1 @@
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LoadBalancerTarget=void 0;var jsiiDeprecationWarnings=()=>{var tmp=require("../../.warnings.jsii.js");return jsiiDeprecationWarnings=()=>tmp,tmp};const JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti");class LoadBalancerTarget{loadBalancer;props;static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_route53_targets.LoadBalancerTarget",version:"2.252.0"};constructor(loadBalancer,props){this.loadBalancer=loadBalancer,this.props=props;try{jsiiDeprecationWarnings().aws_cdk_lib_aws_elasticloadbalancingv2_ILoadBalancerV2(loadBalancer),jsiiDeprecationWarnings().aws_cdk_lib_aws_route53_targets_IAliasRecordTargetProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,LoadBalancerTarget),error}}bind(_record,_zone){try{jsiiDeprecationWarnings().aws_cdk_lib_aws_route53_IRecordSet(_record),jsiiDeprecationWarnings().aws_cdk_lib_aws_route53_IHostedZone(_zone)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.bind),error}return{hostedZoneId:this.loadBalancer.loadBalancerCanonicalHostedZoneId,dnsName:`dualstack.${this.loadBalancer.loadBalancerDnsName}`,evaluateTargetHealth:this.props?.evaluateTargetHealth}}}exports.LoadBalancerTarget=LoadBalancerTarget;

View File

@@ -0,0 +1,9 @@
import type * as route53 from '../../aws-route53';
/**
* Use another Route 53 record as an alias record target
*/
export declare class Route53RecordTarget implements route53.IAliasRecordTarget {
private readonly record;
constructor(record: route53.IRecordSet);
bind(record: route53.IRecordSet, zone?: route53.IHostedZone): route53.AliasRecordTargetConfig;
}

View File

@@ -0,0 +1 @@
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Route53RecordTarget=void 0;var jsiiDeprecationWarnings=()=>{var tmp=require("../../.warnings.jsii.js");return jsiiDeprecationWarnings=()=>tmp,tmp};const JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti");var errors_1=()=>{var tmp=require("../../core/lib/errors");return errors_1=()=>tmp,tmp},literal_string_1=()=>{var tmp=require("../../core/lib/private/literal-string");return literal_string_1=()=>tmp,tmp};class Route53RecordTarget{record;static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_route53_targets.Route53RecordTarget",version:"2.252.0"};constructor(record){this.record=record;try{jsiiDeprecationWarnings().aws_cdk_lib_aws_route53_IRecordSet(record)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,Route53RecordTarget),error}}bind(record,zone){try{jsiiDeprecationWarnings().aws_cdk_lib_aws_route53_IRecordSet(record),jsiiDeprecationWarnings().aws_cdk_lib_aws_route53_IHostedZone(zone)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.bind),error}if(!zone)throw new(errors_1()).ValidationError((0,literal_string_1().lit)`CannotBindRecordWithoutZone`,"Cannot bind to record without a zone",record);return{dnsName:this.record.domainName,hostedZoneId:zone.hostedZoneId}}}exports.Route53RecordTarget=Route53RecordTarget;

View File

@@ -0,0 +1,17 @@
/**
* Properties the alias record target
*/
export interface IAliasRecordTargetProps {
/**
* Target Hosted zone ID.
*
* @default - hosted zone ID for the EBS endpoint will be retrieved based on the stack's region.
*/
readonly hostedZoneId?: string;
/**
* Evaluate target health
*
* @default - no health check configuration
*/
readonly evaluateTargetHealth?: boolean;
}

View File

@@ -0,0 +1 @@
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});

View File

@@ -0,0 +1,10 @@
import type { UserPoolDomain } from '../../aws-cognito';
import type { AliasRecordTargetConfig, IAliasRecordTarget, IHostedZone, IRecordSet } from '../../aws-route53';
/**
* Use a user pool domain as an alias record target
*/
export declare class UserPoolDomainTarget implements IAliasRecordTarget {
private readonly domain;
constructor(domain: UserPoolDomain);
bind(record: IRecordSet, _zone?: IHostedZone): AliasRecordTargetConfig;
}

View File

@@ -0,0 +1 @@
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.UserPoolDomainTarget=void 0;var jsiiDeprecationWarnings=()=>{var tmp=require("../../.warnings.jsii.js");return jsiiDeprecationWarnings=()=>tmp,tmp};const JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti");var cloudfront_target_1=()=>{var tmp=require("./cloudfront-target");return cloudfront_target_1=()=>tmp,tmp},core_1=()=>{var tmp=require("../../core");return core_1=()=>tmp,tmp},cx_api_1=()=>{var tmp=require("../../cx-api");return cx_api_1=()=>tmp,tmp};class UserPoolDomainTarget{domain;static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_route53_targets.UserPoolDomainTarget",version:"2.252.0"};constructor(domain){this.domain=domain;try{jsiiDeprecationWarnings().aws_cdk_lib_aws_cognito_UserPoolDomain(domain)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,UserPoolDomainTarget),error}}bind(record,_zone){try{jsiiDeprecationWarnings().aws_cdk_lib_aws_route53_IRecordSet(record),jsiiDeprecationWarnings().aws_cdk_lib_aws_route53_IHostedZone(_zone)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.bind),error}return{dnsName:core_1().FeatureFlags.of(record).isEnabled(cx_api_1().USER_POOL_DOMAIN_NAME_METHOD_WITHOUT_CUSTOM_RESOURCE)?this.domain.cloudFrontEndpoint:this.domain.cloudFrontDomainName,hostedZoneId:cloudfront_target_1().CloudFrontTarget.getHostedZoneId(this.domain)}}}exports.UserPoolDomainTarget=UserPoolDomainTarget;