cdk.cloudfront.geo.locator.CloudfrontGeoLocator Maven / Gradle / Ivy
package cdk.cloudfront.geo.locator;
/**
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.93.0 (build 1706ca5)", date = "2024-01-03T09:44:14.779Z")
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@software.amazon.jsii.Jsii(module = cdk.cloudfront.geo.locator.$Module.class, fqn = "cdk-cloudfront-geo-locator.CloudfrontGeoLocator")
public class CloudfrontGeoLocator extends software.constructs.Construct {
protected CloudfrontGeoLocator(final software.amazon.jsii.JsiiObjectRef objRef) {
super(objRef);
}
protected CloudfrontGeoLocator(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) {
super(initializationMode);
}
/**
* @param scope This parameter is required.
* @param id This parameter is required.
* @param props
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public CloudfrontGeoLocator(final @org.jetbrains.annotations.NotNull software.constructs.Construct scope, final @org.jetbrains.annotations.NotNull java.lang.String id, final @org.jetbrains.annotations.Nullable cdk.cloudfront.geo.locator.CloudfrontGeoLocatorProps props) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(scope, "scope is required"), java.util.Objects.requireNonNull(id, "id is required"), props });
}
/**
* @param scope This parameter is required.
* @param id This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public CloudfrontGeoLocator(final @org.jetbrains.annotations.NotNull software.constructs.Construct scope, final @org.jetbrains.annotations.NotNull java.lang.String id) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(scope, "scope is required"), java.util.Objects.requireNonNull(id, "id is required") });
}
/**
* The ID of the CloudFront cache policy.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public @org.jetbrains.annotations.NotNull java.lang.String getCloudfrontCachePolicyId() {
return software.amazon.jsii.Kernel.get(this, "cloudfrontCachePolicyId", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
}
/**
* The ID of the CloudFront origin request policy.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public @org.jetbrains.annotations.NotNull java.lang.String getCloudfrontOriginRequestPolicyId() {
return software.amazon.jsii.Kernel.get(this, "cloudfrontOriginRequestPolicyId", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
}
/**
* The domain name of the CloudFront distribution.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public @org.jetbrains.annotations.NotNull java.lang.String getDistributionDomainName() {
return software.amazon.jsii.Kernel.get(this, "distributionDomainName", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
}
/**
* The ID of the CloudFront distribution.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public @org.jetbrains.annotations.NotNull java.lang.String getDistributionId() {
return software.amazon.jsii.Kernel.get(this, "distributionId", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
}
/**
* The ARN of the Lambda function.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public @org.jetbrains.annotations.NotNull java.lang.String getLambdaFunctionArn() {
return software.amazon.jsii.Kernel.get(this, "lambdaFunctionArn", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
}
/**
* The current version of the Lambda function.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public @org.jetbrains.annotations.NotNull software.amazon.awscdk.services.lambda.Version getLambdaFunctionVersion() {
return software.amazon.jsii.Kernel.get(this, "lambdaFunctionVersion", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.lambda.Version.class));
}
/**
* The ARN of the S3 bucket.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public @org.jetbrains.annotations.NotNull java.lang.String getS3BucketArn() {
return software.amazon.jsii.Kernel.get(this, "s3BucketArn", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
}
/**
* A fluent builder for {@link cdk.cloudfront.geo.locator.CloudfrontGeoLocator}.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static final class Builder implements software.amazon.jsii.Builder {
/**
* @return a new instance of {@link Builder}.
* @param scope This parameter is required.
* @param id This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static Builder create(final software.constructs.Construct scope, final java.lang.String id) {
return new Builder(scope, id);
}
private final software.constructs.Construct scope;
private final java.lang.String id;
private cdk.cloudfront.geo.locator.CloudfrontGeoLocatorProps.Builder props;
private Builder(final software.constructs.Construct scope, final java.lang.String id) {
this.scope = scope;
this.id = id;
}
/**
* The AWS account ID this resource belongs to.
*
* Default: - the resource is in the same account as the stack it belongs to
*
* @return {@code this}
* @param account The AWS account ID this resource belongs to. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder account(final java.lang.String account) {
this.props().account(account);
return this;
}
/**
* ARN to deduce region and account from.
*
* The ARN is parsed and the account and region are taken from the ARN.
* This should be used for imported resources.
*
* Cannot be supplied together with either account
or region
.
*
* Default: - take environment from `account`, `region` parameters, or use Stack environment.
*
* @return {@code this}
* @param environmentFromArn ARN to deduce region and account from. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder environmentFromArn(final java.lang.String environmentFromArn) {
this.props().environmentFromArn(environmentFromArn);
return this;
}
/**
* The value passed in by users to the physical name prop of the resource.
*
*
* undefined
implies that a physical name will be allocated by
* CloudFormation during deployment.
* - a concrete value implies a specific physical name
* PhysicalName.GENERATE_IF_NEEDED
is a marker that indicates that a physical will only be generated
* by the CDK if it is needed for cross-environment references. Otherwise, it will be allocated by CloudFormation.
*
*
* Default: - The physical name will be allocated by CloudFormation at deployment time
*
* @return {@code this}
* @param physicalName The value passed in by users to the physical name prop of the resource. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder physicalName(final java.lang.String physicalName) {
this.props().physicalName(physicalName);
return this;
}
/**
* The AWS region this resource belongs to.
*
* Default: - the resource is in the same region as the stack it belongs to
*
* @return {@code this}
* @param region The AWS region this resource belongs to. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder region(final java.lang.String region) {
this.props().region(region);
return this;
}
/**
* A unique name to identify the cloudfront cache policy.
*
* Default: - CloudfrontGeoLocatorCachePolicy
*
* @return {@code this}
* @param cloudfrontCachePolicyName A unique name to identify the cloudfront cache policy. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder cloudfrontCachePolicyName(final java.lang.String cloudfrontCachePolicyName) {
this.props().cloudfrontCachePolicyName(cloudfrontCachePolicyName);
return this;
}
/**
* A unique name to identify the cloudfront origin request policy.
*
* Default: - CloudfrontGeoLocatorOriginRequestPolicy
*
* @return {@code this}
* @param cloudfrontOriginRequestPolicyName A unique name to identify the cloudfront origin request policy. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder cloudfrontOriginRequestPolicyName(final java.lang.String cloudfrontOriginRequestPolicyName) {
this.props().cloudfrontOriginRequestPolicyName(cloudfrontOriginRequestPolicyName);
return this;
}
/**
* The price class for the CloudFront distribution.
*
* Default: - PRICE_CLASS_100
*
* @return {@code this}
* @param cloudfrontPriceClass The price class for the CloudFront distribution. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder cloudfrontPriceClass(final software.amazon.awscdk.services.cloudfront.PriceClass cloudfrontPriceClass) {
this.props().cloudfrontPriceClass(cloudfrontPriceClass);
return this;
}
/**
* The ARN of the certificate.
*
* Default: - undefined
*
* @return {@code this}
* @param customDomainCertificateArn The ARN of the certificate. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder customDomainCertificateArn(final java.lang.String customDomainCertificateArn) {
this.props().customDomainCertificateArn(customDomainCertificateArn);
return this;
}
/**
* The domain name for the CloudFront distribution.
*
* Default: - undefined
*
* @return {@code this}
* @param customDomainName The domain name for the CloudFront distribution. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder customDomainName(final java.lang.String customDomainName) {
this.props().customDomainName(customDomainName);
return this;
}
/**
* A unique name to identify the lambda function.
*
* Default: - cloudfront-geo-locator
*
* @return {@code this}
* @param lambdaFunctionName A unique name to identify the lambda function. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder lambdaFunctionName(final java.lang.String lambdaFunctionName) {
this.props().lambdaFunctionName(lambdaFunctionName);
return this;
}
/**
* A unique name to identify the s3 bucket.
*
* Default: - cloudfront-geo-locator-origin
*
* @return {@code this}
* @param s3BucketName A unique name to identify the s3 bucket. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder s3BucketName(final java.lang.String s3BucketName) {
this.props().s3BucketName(s3BucketName);
return this;
}
/**
* @return a newly built instance of {@link cdk.cloudfront.geo.locator.CloudfrontGeoLocator}.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@Override
public cdk.cloudfront.geo.locator.CloudfrontGeoLocator build() {
return new cdk.cloudfront.geo.locator.CloudfrontGeoLocator(
this.scope,
this.id,
this.props != null ? this.props.build() : null
);
}
private cdk.cloudfront.geo.locator.CloudfrontGeoLocatorProps.Builder props() {
if (this.props == null) {
this.props = new cdk.cloudfront.geo.locator.CloudfrontGeoLocatorProps.Builder();
}
return this.props;
}
}
}