software.amazon.awscdk.services.route53.targets.BucketWebsiteTarget Maven / Gradle / Ivy
Show all versions of route53-targets Show documentation
package software.amazon.awscdk.services.route53.targets;
/**
* Use a S3 as an alias record target.
*
* Example:
*
*
* import software.amazon.awscdk.services.s3.*;
* String recordName = "www";
* String domainName = "example.com";
* Bucket bucketWebsite = Bucket.Builder.create(this, "BucketWebsite")
* .bucketName(List.of(recordName, domainName).join(".")) // www.example.com
* .publicReadAccess(true)
* .websiteIndexDocument("index.html")
* .build();
* IHostedZone zone = HostedZone.fromLookup(this, "Zone", HostedZoneProviderProps.builder().domainName(domainName).build()); // example.com
* // example.com
* ARecord.Builder.create(this, "AliasRecord")
* .zone(zone)
* .recordName(recordName) // www
* .target(RecordTarget.fromAlias(new BucketWebsiteTarget(bucketWebsite)))
* .build();
*
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.71.0 (build f1f58ae)", date = "2022-11-18T02:14:15.631Z")
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.route53.targets.$Module.class, fqn = "@aws-cdk/aws-route53-targets.BucketWebsiteTarget")
public class BucketWebsiteTarget extends software.amazon.jsii.JsiiObject implements software.amazon.awscdk.services.route53.IAliasRecordTarget {
protected BucketWebsiteTarget(final software.amazon.jsii.JsiiObjectRef objRef) {
super(objRef);
}
protected BucketWebsiteTarget(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) {
super(initializationMode);
}
/**
* @param bucket This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public BucketWebsiteTarget(final @org.jetbrains.annotations.NotNull software.amazon.awscdk.services.s3.IBucket bucket) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(bucket, "bucket is required") });
}
/**
* Return hosted zone ID and DNS name, usable for Route53 alias targets.
*
* @param _record This parameter is required.
* @param _zone
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@Override
public @org.jetbrains.annotations.NotNull software.amazon.awscdk.services.route53.AliasRecordTargetConfig bind(final @org.jetbrains.annotations.NotNull software.amazon.awscdk.services.route53.IRecordSet _record, final @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.route53.IHostedZone _zone) {
return software.amazon.jsii.Kernel.call(this, "bind", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.route53.AliasRecordTargetConfig.class), new Object[] { java.util.Objects.requireNonNull(_record, "_record is required"), _zone });
}
/**
* Return hosted zone ID and DNS name, usable for Route53 alias targets.
*
* @param _record This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@Override
public @org.jetbrains.annotations.NotNull software.amazon.awscdk.services.route53.AliasRecordTargetConfig bind(final @org.jetbrains.annotations.NotNull software.amazon.awscdk.services.route53.IRecordSet _record) {
return software.amazon.jsii.Kernel.call(this, "bind", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.route53.AliasRecordTargetConfig.class), new Object[] { java.util.Objects.requireNonNull(_record, "_record is required") });
}
}