Documentation
¶
Index ¶
- func CloudFrontTarget_CLOUDFRONT_ZONE_ID() *string
- func CloudFrontTarget_GetHostedZoneId(scope constructs.IConstruct) *string
- func GlobalAcceleratorDomainTarget_GLOBAL_ACCELERATOR_ZONE_ID() *string
- func GlobalAcceleratorTarget_GLOBAL_ACCELERATOR_ZONE_ID() *string
- func NewApiGatewayDomain_Override(a ApiGatewayDomain, domainName awsapigateway.IDomainName)
- func NewApiGateway_Override(a ApiGateway, api awsapigateway.RestApiBase)
- func NewApiGatewayv2DomainProperties_Override(a ApiGatewayv2DomainProperties, regionalDomainName *string, ...)
- func NewAppSyncTarget_Override(a AppSyncTarget, graphqlApi awsappsync.GraphqlApi)
- func NewBucketWebsiteTarget_Override(b BucketWebsiteTarget, bucket awss3.IBucket, props IAliasRecordTargetProps)
- func NewClassicLoadBalancerTarget_Override(c ClassicLoadBalancerTarget, loadBalancer awselasticloadbalancing.LoadBalancer, ...)
- func NewCloudFrontTarget_Override(c CloudFrontTarget, distribution awscloudfront.IDistribution)
- func NewElasticBeanstalkEnvironmentEndpointTarget_Override(e ElasticBeanstalkEnvironmentEndpointTarget, environmentEndpoint *string, ...)
- func NewGlobalAcceleratorDomainTarget_Override(g GlobalAcceleratorDomainTarget, acceleratorDomainName *string, ...)
- func NewGlobalAcceleratorTarget_Override(g GlobalAcceleratorTarget, accelerator awsglobalaccelerator.IAccelerator, ...)
- func NewInterfaceVpcEndpointTarget_Override(i InterfaceVpcEndpointTarget, vpcEndpoint awsec2.InterfaceVpcEndpoint)
- func NewLoadBalancerTarget_Override(l LoadBalancerTarget, loadBalancer awselasticloadbalancingv2.ILoadBalancerV2, ...)
- func NewRoute53RecordTarget_Override(r Route53RecordTarget, record awsroute53.IRecordSet)
- func NewUserPoolDomainTarget_Override(u UserPoolDomainTarget, domain awscognito.UserPoolDomain)
- type ApiGateway
- type ApiGatewayDomain
- type ApiGatewayv2DomainProperties
- type AppSyncTarget
- type BucketWebsiteTarget
- type ClassicLoadBalancerTarget
- type CloudFrontTarget
- type ElasticBeanstalkEnvironmentEndpointTarget
- type GlobalAcceleratorDomainTarget
- type GlobalAcceleratorTarget
- type IAliasRecordTargetProps
- type InterfaceVpcEndpointTarget
- type LoadBalancerTarget
- type Route53RecordTarget
- type UserPoolDomainTarget
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CloudFrontTarget_CLOUDFRONT_ZONE_ID ¶
func CloudFrontTarget_CLOUDFRONT_ZONE_ID() *string
func CloudFrontTarget_GetHostedZoneId ¶
func CloudFrontTarget_GetHostedZoneId(scope constructs.IConstruct) *string
Get the hosted zone id for the current scope.
func GlobalAcceleratorDomainTarget_GLOBAL_ACCELERATOR_ZONE_ID ¶
func GlobalAcceleratorDomainTarget_GLOBAL_ACCELERATOR_ZONE_ID() *string
func GlobalAcceleratorTarget_GLOBAL_ACCELERATOR_ZONE_ID ¶
func GlobalAcceleratorTarget_GLOBAL_ACCELERATOR_ZONE_ID() *string
func NewApiGatewayDomain_Override ¶
func NewApiGatewayDomain_Override(a ApiGatewayDomain, domainName awsapigateway.IDomainName)
func NewApiGateway_Override ¶
func NewApiGateway_Override(a ApiGateway, api awsapigateway.RestApiBase)
func NewApiGatewayv2DomainProperties_Override ¶
func NewApiGatewayv2DomainProperties_Override(a ApiGatewayv2DomainProperties, regionalDomainName *string, regionalHostedZoneId *string)
func NewAppSyncTarget_Override ¶ added in v2.172.0
func NewAppSyncTarget_Override(a AppSyncTarget, graphqlApi awsappsync.GraphqlApi)
func NewBucketWebsiteTarget_Override ¶
func NewBucketWebsiteTarget_Override(b BucketWebsiteTarget, bucket awss3.IBucket, props IAliasRecordTargetProps)
func NewClassicLoadBalancerTarget_Override ¶
func NewClassicLoadBalancerTarget_Override(c ClassicLoadBalancerTarget, loadBalancer awselasticloadbalancing.LoadBalancer, props IAliasRecordTargetProps)
func NewCloudFrontTarget_Override ¶
func NewCloudFrontTarget_Override(c CloudFrontTarget, distribution awscloudfront.IDistribution)
func NewElasticBeanstalkEnvironmentEndpointTarget_Override ¶
func NewElasticBeanstalkEnvironmentEndpointTarget_Override(e ElasticBeanstalkEnvironmentEndpointTarget, environmentEndpoint *string, props IAliasRecordTargetProps)
func NewGlobalAcceleratorDomainTarget_Override ¶
func NewGlobalAcceleratorDomainTarget_Override(g GlobalAcceleratorDomainTarget, acceleratorDomainName *string, props IAliasRecordTargetProps)
Create an Alias Target for a Global Accelerator domain name.
func NewGlobalAcceleratorTarget_Override ¶
func NewGlobalAcceleratorTarget_Override(g GlobalAcceleratorTarget, accelerator awsglobalaccelerator.IAccelerator, props IAliasRecordTargetProps)
Create an Alias Target for a Global Accelerator instance.
func NewInterfaceVpcEndpointTarget_Override ¶
func NewInterfaceVpcEndpointTarget_Override(i InterfaceVpcEndpointTarget, vpcEndpoint awsec2.InterfaceVpcEndpoint)
func NewLoadBalancerTarget_Override ¶
func NewLoadBalancerTarget_Override(l LoadBalancerTarget, loadBalancer awselasticloadbalancingv2.ILoadBalancerV2, props IAliasRecordTargetProps)
func NewRoute53RecordTarget_Override ¶
func NewRoute53RecordTarget_Override(r Route53RecordTarget, record awsroute53.IRecordSet)
func NewUserPoolDomainTarget_Override ¶
func NewUserPoolDomainTarget_Override(u UserPoolDomainTarget, domain awscognito.UserPoolDomain)
Types ¶
type ApiGateway ¶
type ApiGateway interface {
ApiGatewayDomain
// Return hosted zone ID and DNS name, usable for Route53 alias targets.
Bind(record awsroute53.IRecordSet, zone awsroute53.IHostedZone) *awsroute53.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.
Example:
import "github.com/aws/aws-cdk-go/awscdk"
import targets "github.com/aws/aws-cdk-go/awscdk"
var api RestApi
var hostedZoneForExampleCom interface{}
route53.NewARecord(this, jsii.String("CustomDomainAliasRecord"), &ARecordProps{
Zone: hostedZoneForExampleCom,
Target: route53.RecordTarget_FromAlias(targets.NewApiGateway(api)),
})
func NewApiGateway ¶
func NewApiGateway(api awsapigateway.RestApiBase) ApiGateway
type ApiGatewayDomain ¶
type ApiGatewayDomain interface {
awsroute53.IAliasRecordTarget
// Return hosted zone ID and DNS name, usable for Route53 alias targets.
Bind(record awsroute53.IRecordSet, zone awsroute53.IHostedZone) *awsroute53.AliasRecordTargetConfig
}
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.
Example:
var hostedZoneForExampleCom interface{}
var domainName DomainName
import "github.com/aws/aws-cdk-go/awscdk"
import targets "github.com/aws/aws-cdk-go/awscdk"
route53.NewARecord(this, jsii.String("CustomDomainAliasRecord"), &ARecordProps{
Zone: hostedZoneForExampleCom,
Target: route53.RecordTarget_FromAlias(targets.NewApiGatewayDomain(domainName)),
})
func NewApiGatewayDomain ¶
func NewApiGatewayDomain(domainName awsapigateway.IDomainName) ApiGatewayDomain
type ApiGatewayv2DomainProperties ¶
type ApiGatewayv2DomainProperties interface {
awsroute53.IAliasRecordTarget
// Return hosted zone ID and DNS name, usable for Route53 alias targets.
Bind(record awsroute53.IRecordSet, zone awsroute53.IHostedZone) *awsroute53.AliasRecordTargetConfig
}
Defines an API Gateway V2 domain name as the alias target.
Example:
import apigwv2 "github.com/aws/aws-cdk-go/awscdk"
var zone HostedZone
var domainName DomainName
route53.NewARecord(this, jsii.String("AliasRecord"), &ARecordProps{
Zone: Zone,
Target: route53.RecordTarget_FromAlias(targets.NewApiGatewayv2DomainProperties(domainName.RegionalDomainName, domainName.RegionalHostedZoneId)),
})
func NewApiGatewayv2DomainProperties ¶
func NewApiGatewayv2DomainProperties(regionalDomainName *string, regionalHostedZoneId *string) ApiGatewayv2DomainProperties
type AppSyncTarget ¶ added in v2.172.0
type AppSyncTarget interface {
awsroute53.IAliasRecordTarget
// Return hosted zone ID and DNS name, usable for Route53 alias targets.
Bind(record awsroute53.IRecordSet, zone awsroute53.IHostedZone) *awsroute53.AliasRecordTargetConfig
}
Defines an AppSync Graphql API as the alias target.
Requires that the domain name will be defined through `GraphqlApiProps.domainName`.
Example:
import appsync "github.com/aws/aws-cdk-go/awscdk"
var zone HostedZone
var graphqlApi GraphqlApi
route53.NewARecord(this, jsii.String("AliasRecord"), &ARecordProps{
Zone: Zone,
Target: route53.RecordTarget_FromAlias(targets.NewAppSyncTarget(graphqlApi)),
})
func NewAppSyncTarget ¶ added in v2.172.0
func NewAppSyncTarget(graphqlApi awsappsync.GraphqlApi) AppSyncTarget
type BucketWebsiteTarget ¶
type BucketWebsiteTarget interface {
awsroute53.IAliasRecordTarget
// Return hosted zone ID and DNS name, usable for Route53 alias targets.
Bind(record awsroute53.IRecordSet, zone awsroute53.IHostedZone) *awsroute53.AliasRecordTargetConfig
}
Use a S3 as an alias record target.
Example:
import s3 "github.com/aws/aws-cdk-go/awscdk"
recordName := "www"
domainName := "example.com"
bucketWebsite := s3.NewBucket(this, jsii.String("BucketWebsite"), &BucketProps{
BucketName: []*string{
recordName,
domainName,
}.join(jsii.String(".")),
// www.example.com
PublicReadAccess: jsii.Boolean(true),
WebsiteIndexDocument: jsii.String("index.html"),
})
zone := route53.HostedZone_FromLookup(this, jsii.String("Zone"), &HostedZoneProviderProps{
DomainName: jsii.String(DomainName),
}) // example.com
// example.com
route53.NewARecord(this, jsii.String("AliasRecord"), &ARecordProps{
Zone: Zone,
RecordName: jsii.String(RecordName),
// www
Target: route53.RecordTarget_FromAlias(
targets.NewBucketWebsiteTarget(bucketWebsite, map[string]*bool{
"evaluateTargetHealth": jsii.Boolean(true),
})),
})
func NewBucketWebsiteTarget ¶
func NewBucketWebsiteTarget(bucket awss3.IBucket, props IAliasRecordTargetProps) BucketWebsiteTarget
type ClassicLoadBalancerTarget ¶
type ClassicLoadBalancerTarget interface {
awsroute53.IAliasRecordTarget
// Return hosted zone ID and DNS name, usable for Route53 alias targets.
Bind(record awsroute53.IRecordSet, zone awsroute53.IHostedZone) *awsroute53.AliasRecordTargetConfig
}
Use a classic ELB as an alias record target.
Example:
import elb "github.com/aws/aws-cdk-go/awscdk"
var zone HostedZone
var lb LoadBalancer
route53.NewARecord(this, jsii.String("AliasRecord"), &ARecordProps{
Zone: Zone,
Target: route53.RecordTarget_FromAlias(
targets.NewClassicLoadBalancerTarget(lb, map[string]*bool{
"evaluateTargetHealth": jsii.Boolean(true),
})),
})
func NewClassicLoadBalancerTarget ¶
func NewClassicLoadBalancerTarget(loadBalancer awselasticloadbalancing.LoadBalancer, props IAliasRecordTargetProps) ClassicLoadBalancerTarget
type CloudFrontTarget ¶
type CloudFrontTarget interface {
awsroute53.IAliasRecordTarget
// Return hosted zone ID and DNS name, usable for Route53 alias targets.
Bind(record awsroute53.IRecordSet, zone awsroute53.IHostedZone) *awsroute53.AliasRecordTargetConfig
}
Use a CloudFront Distribution as an alias record target.
Example:
import cloudfront "github.com/aws/aws-cdk-go/awscdk"
var myZone HostedZone
var distribution CloudFrontWebDistribution
route53.NewAaaaRecord(this, jsii.String("Alias"), &AaaaRecordProps{
Zone: myZone,
Target: route53.RecordTarget_FromAlias(targets.NewCloudFrontTarget(distribution)),
})
func NewCloudFrontTarget ¶
func NewCloudFrontTarget(distribution awscloudfront.IDistribution) CloudFrontTarget
type ElasticBeanstalkEnvironmentEndpointTarget ¶
type ElasticBeanstalkEnvironmentEndpointTarget interface {
awsroute53.IAliasRecordTarget
// Return hosted zone ID and DNS name, usable for Route53 alias targets.
Bind(record awsroute53.IRecordSet, zone awsroute53.IHostedZone) *awsroute53.AliasRecordTargetConfig
}
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.
Example:
import "github.com/aws/aws-cdk-go/awscdk"
var zone HostedZone
var ebsEnvironmentUrl string
route53.NewARecord(this, jsii.String("AliasRecord"), &ARecordProps{
Zone: Zone,
Target: route53.RecordTarget_FromAlias(
targets.NewElasticBeanstalkEnvironmentEndpointTarget(ebsEnvironmentUrl, map[string]*string{
"hostedZoneId": awscdk.RegionInfo_get(jsii.String("us-east-1")).ebsEnvEndpointHostedZoneId,
})),
})
func NewElasticBeanstalkEnvironmentEndpointTarget ¶
func NewElasticBeanstalkEnvironmentEndpointTarget(environmentEndpoint *string, props IAliasRecordTargetProps) ElasticBeanstalkEnvironmentEndpointTarget
type GlobalAcceleratorDomainTarget ¶
type GlobalAcceleratorDomainTarget interface {
awsroute53.IAliasRecordTarget
// Return hosted zone ID and DNS name, usable for Route53 alias targets.
Bind(record awsroute53.IRecordSet, zone awsroute53.IHostedZone) *awsroute53.AliasRecordTargetConfig
}
Use a Global Accelerator domain name as an alias record target.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
var aliasRecordTargetProps IAliasRecordTargetProps
globalAcceleratorDomainTarget := awscdk.Aws_route53_targets.NewGlobalAcceleratorDomainTarget(jsii.String("acceleratorDomainName"), aliasRecordTargetProps)
func NewGlobalAcceleratorDomainTarget ¶
func NewGlobalAcceleratorDomainTarget(acceleratorDomainName *string, props IAliasRecordTargetProps) GlobalAcceleratorDomainTarget
Create an Alias Target for a Global Accelerator domain name.
type GlobalAcceleratorTarget ¶
type GlobalAcceleratorTarget interface {
GlobalAcceleratorDomainTarget
// Return hosted zone ID and DNS name, usable for Route53 alias targets.
Bind(record awsroute53.IRecordSet, zone awsroute53.IHostedZone) *awsroute53.AliasRecordTargetConfig
}
Use a Global Accelerator instance domain name as an alias record target.
Example:
import globalaccelerator "github.com/aws/aws-cdk-go/awscdk"
var zone HostedZone
var accelerator Accelerator
route53.NewARecord(this, jsii.String("AliasRecord"), &ARecordProps{
Zone: Zone,
Target: route53.RecordTarget_FromAlias(
targets.NewGlobalAcceleratorTarget(accelerator, map[string]*bool{
"evaluateTargetHealth": jsii.Boolean(true),
})),
})
func NewGlobalAcceleratorTarget ¶
func NewGlobalAcceleratorTarget(accelerator awsglobalaccelerator.IAccelerator, props IAliasRecordTargetProps) GlobalAcceleratorTarget
Create an Alias Target for a Global Accelerator instance.
type IAliasRecordTargetProps ¶ added in v2.173.0
type IAliasRecordTargetProps interface {
// Evaluate target health.
// Default: - no health check configuration.
//
EvaluateTargetHealth() *bool
// Target Hosted zone ID.
// Default: - hosted zone ID for the EBS endpoint will be retrieved based on the stack's region.
//
HostedZoneId() *string
}
Properties the alias record target.
type InterfaceVpcEndpointTarget ¶
type InterfaceVpcEndpointTarget interface {
awsroute53.IAliasRecordTarget
// Return hosted zone ID and DNS name, usable for Route53 alias targets.
Bind(record awsroute53.IRecordSet, zone awsroute53.IHostedZone) *awsroute53.AliasRecordTargetConfig
}
Set an InterfaceVpcEndpoint as a target for an ARecord.
Example:
import ec2 "github.com/aws/aws-cdk-go/awscdk"
var zone HostedZone
var interfaceVpcEndpoint InterfaceVpcEndpoint
route53.NewARecord(this, jsii.String("AliasRecord"), &ARecordProps{
Zone: Zone,
Target: route53.RecordTarget_FromAlias(targets.NewInterfaceVpcEndpointTarget(interfaceVpcEndpoint)),
})
func NewInterfaceVpcEndpointTarget ¶
func NewInterfaceVpcEndpointTarget(vpcEndpoint awsec2.InterfaceVpcEndpoint) InterfaceVpcEndpointTarget
type LoadBalancerTarget ¶
type LoadBalancerTarget interface {
awsroute53.IAliasRecordTarget
// Return hosted zone ID and DNS name, usable for Route53 alias targets.
Bind(record awsroute53.IRecordSet, zone awsroute53.IHostedZone) *awsroute53.AliasRecordTargetConfig
}
Use an ELBv2 as an alias record target.
Example:
import elbv2 "github.com/aws/aws-cdk-go/awscdk"
var zone HostedZone
var lb ApplicationLoadBalancer
route53.NewARecord(this, jsii.String("AliasRecord"), &ARecordProps{
Zone: Zone,
Target: route53.RecordTarget_FromAlias(
targets.NewLoadBalancerTarget(lb, map[string]*bool{
"evaluateTargetHealth": jsii.Boolean(true),
})),
})
func NewLoadBalancerTarget ¶
func NewLoadBalancerTarget(loadBalancer awselasticloadbalancingv2.ILoadBalancerV2, props IAliasRecordTargetProps) LoadBalancerTarget
type Route53RecordTarget ¶
type Route53RecordTarget interface {
awsroute53.IAliasRecordTarget
// Return hosted zone ID and DNS name, usable for Route53 alias targets.
Bind(record awsroute53.IRecordSet, zone awsroute53.IHostedZone) *awsroute53.AliasRecordTargetConfig
}
Use another Route 53 record as an alias record target.
Example:
var zone HostedZone
var record ARecord
route53.NewARecord(this, jsii.String("AliasRecord"), &ARecordProps{
Zone: Zone,
Target: route53.RecordTarget_FromAlias(targets.NewRoute53RecordTarget(record)),
})
func NewRoute53RecordTarget ¶
func NewRoute53RecordTarget(record awsroute53.IRecordSet) Route53RecordTarget
type UserPoolDomainTarget ¶
type UserPoolDomainTarget interface {
awsroute53.IAliasRecordTarget
// Return hosted zone ID and DNS name, usable for Route53 alias targets.
Bind(record awsroute53.IRecordSet, zone awsroute53.IHostedZone) *awsroute53.AliasRecordTargetConfig
}
Use a user pool domain as an alias record target.
Example:
import cognito "github.com/aws/aws-cdk-go/awscdk"
var zone HostedZone
var domain UserPoolDomain
route53.NewARecord(this, jsii.String("AliasRecord"), &ARecordProps{
Zone: Zone,
Target: route53.RecordTarget_FromAlias(targets.NewUserPoolDomainTarget(domain)),
})
func NewUserPoolDomainTarget ¶
func NewUserPoolDomainTarget(domain awscognito.UserPoolDomain) UserPoolDomainTarget
Source Files
¶
- ApiGateway.go
- ApiGatewayDomain.go
- ApiGatewayDomain__checks.go
- ApiGateway__checks.go
- ApiGatewayv2DomainProperties.go
- ApiGatewayv2DomainProperties__checks.go
- AppSyncTarget.go
- AppSyncTarget__checks.go
- BucketWebsiteTarget.go
- BucketWebsiteTarget__checks.go
- ClassicLoadBalancerTarget.go
- ClassicLoadBalancerTarget__checks.go
- CloudFrontTarget.go
- CloudFrontTarget__checks.go
- ElasticBeanstalkEnvironmentEndpointTarget.go
- ElasticBeanstalkEnvironmentEndpointTarget__checks.go
- GlobalAcceleratorDomainTarget.go
- GlobalAcceleratorDomainTarget__checks.go
- GlobalAcceleratorTarget.go
- GlobalAcceleratorTarget__checks.go
- IAliasRecordTargetProps.go
- InterfaceVpcEndpointTarget.go
- InterfaceVpcEndpointTarget__checks.go
- LoadBalancerTarget.go
- LoadBalancerTarget__checks.go
- Route53RecordTarget.go
- Route53RecordTarget__checks.go
- UserPoolDomainTarget.go
- UserPoolDomainTarget__checks.go
- main.go