All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.aws.apigatewayv2.inputs.DomainNameDomainNameConfigurationArgs Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

The newest version!
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.aws.apigatewayv2.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class DomainNameDomainNameConfigurationArgs extends com.pulumi.resources.ResourceArgs {

    public static final DomainNameDomainNameConfigurationArgs Empty = new DomainNameDomainNameConfigurationArgs();

    /**
     * ARN of an AWS-managed certificate that will be used by the endpoint for the domain name. AWS Certificate Manager is the only supported source. Use the `aws.acm.Certificate` resource to configure an ACM certificate.
     * 
     */
    @Import(name="certificateArn", required=true)
    private Output certificateArn;

    /**
     * @return ARN of an AWS-managed certificate that will be used by the endpoint for the domain name. AWS Certificate Manager is the only supported source. Use the `aws.acm.Certificate` resource to configure an ACM certificate.
     * 
     */
    public Output certificateArn() {
        return this.certificateArn;
    }

    /**
     * Endpoint type. Valid values: `REGIONAL`.
     * 
     */
    @Import(name="endpointType", required=true)
    private Output endpointType;

    /**
     * @return Endpoint type. Valid values: `REGIONAL`.
     * 
     */
    public Output endpointType() {
        return this.endpointType;
    }

    /**
     * Amazon Route 53 Hosted Zone ID of the endpoint.
     * 
     */
    @Import(name="hostedZoneId")
    private @Nullable Output hostedZoneId;

    /**
     * @return Amazon Route 53 Hosted Zone ID of the endpoint.
     * 
     */
    public Optional> hostedZoneId() {
        return Optional.ofNullable(this.hostedZoneId);
    }

    /**
     * ARN of the AWS-issued certificate used to validate custom domain ownership (when `certificate_arn` is issued via an ACM Private CA or `mutual_tls_authentication` is configured with an ACM-imported certificate.)
     * 
     */
    @Import(name="ownershipVerificationCertificateArn")
    private @Nullable Output ownershipVerificationCertificateArn;

    /**
     * @return ARN of the AWS-issued certificate used to validate custom domain ownership (when `certificate_arn` is issued via an ACM Private CA or `mutual_tls_authentication` is configured with an ACM-imported certificate.)
     * 
     */
    public Optional> ownershipVerificationCertificateArn() {
        return Optional.ofNullable(this.ownershipVerificationCertificateArn);
    }

    /**
     * Transport Layer Security (TLS) version of the [security policy](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-custom-domain-tls-version.html) for the domain name. Valid values: `TLS_1_2`.
     * 
     */
    @Import(name="securityPolicy", required=true)
    private Output securityPolicy;

    /**
     * @return Transport Layer Security (TLS) version of the [security policy](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-custom-domain-tls-version.html) for the domain name. Valid values: `TLS_1_2`.
     * 
     */
    public Output securityPolicy() {
        return this.securityPolicy;
    }

    /**
     * Target domain name.
     * 
     */
    @Import(name="targetDomainName")
    private @Nullable Output targetDomainName;

    /**
     * @return Target domain name.
     * 
     */
    public Optional> targetDomainName() {
        return Optional.ofNullable(this.targetDomainName);
    }

    private DomainNameDomainNameConfigurationArgs() {}

    private DomainNameDomainNameConfigurationArgs(DomainNameDomainNameConfigurationArgs $) {
        this.certificateArn = $.certificateArn;
        this.endpointType = $.endpointType;
        this.hostedZoneId = $.hostedZoneId;
        this.ownershipVerificationCertificateArn = $.ownershipVerificationCertificateArn;
        this.securityPolicy = $.securityPolicy;
        this.targetDomainName = $.targetDomainName;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(DomainNameDomainNameConfigurationArgs defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private DomainNameDomainNameConfigurationArgs $;

        public Builder() {
            $ = new DomainNameDomainNameConfigurationArgs();
        }

        public Builder(DomainNameDomainNameConfigurationArgs defaults) {
            $ = new DomainNameDomainNameConfigurationArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param certificateArn ARN of an AWS-managed certificate that will be used by the endpoint for the domain name. AWS Certificate Manager is the only supported source. Use the `aws.acm.Certificate` resource to configure an ACM certificate.
         * 
         * @return builder
         * 
         */
        public Builder certificateArn(Output certificateArn) {
            $.certificateArn = certificateArn;
            return this;
        }

        /**
         * @param certificateArn ARN of an AWS-managed certificate that will be used by the endpoint for the domain name. AWS Certificate Manager is the only supported source. Use the `aws.acm.Certificate` resource to configure an ACM certificate.
         * 
         * @return builder
         * 
         */
        public Builder certificateArn(String certificateArn) {
            return certificateArn(Output.of(certificateArn));
        }

        /**
         * @param endpointType Endpoint type. Valid values: `REGIONAL`.
         * 
         * @return builder
         * 
         */
        public Builder endpointType(Output endpointType) {
            $.endpointType = endpointType;
            return this;
        }

        /**
         * @param endpointType Endpoint type. Valid values: `REGIONAL`.
         * 
         * @return builder
         * 
         */
        public Builder endpointType(String endpointType) {
            return endpointType(Output.of(endpointType));
        }

        /**
         * @param hostedZoneId Amazon Route 53 Hosted Zone ID of the endpoint.
         * 
         * @return builder
         * 
         */
        public Builder hostedZoneId(@Nullable Output hostedZoneId) {
            $.hostedZoneId = hostedZoneId;
            return this;
        }

        /**
         * @param hostedZoneId Amazon Route 53 Hosted Zone ID of the endpoint.
         * 
         * @return builder
         * 
         */
        public Builder hostedZoneId(String hostedZoneId) {
            return hostedZoneId(Output.of(hostedZoneId));
        }

        /**
         * @param ownershipVerificationCertificateArn ARN of the AWS-issued certificate used to validate custom domain ownership (when `certificate_arn` is issued via an ACM Private CA or `mutual_tls_authentication` is configured with an ACM-imported certificate.)
         * 
         * @return builder
         * 
         */
        public Builder ownershipVerificationCertificateArn(@Nullable Output ownershipVerificationCertificateArn) {
            $.ownershipVerificationCertificateArn = ownershipVerificationCertificateArn;
            return this;
        }

        /**
         * @param ownershipVerificationCertificateArn ARN of the AWS-issued certificate used to validate custom domain ownership (when `certificate_arn` is issued via an ACM Private CA or `mutual_tls_authentication` is configured with an ACM-imported certificate.)
         * 
         * @return builder
         * 
         */
        public Builder ownershipVerificationCertificateArn(String ownershipVerificationCertificateArn) {
            return ownershipVerificationCertificateArn(Output.of(ownershipVerificationCertificateArn));
        }

        /**
         * @param securityPolicy Transport Layer Security (TLS) version of the [security policy](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-custom-domain-tls-version.html) for the domain name. Valid values: `TLS_1_2`.
         * 
         * @return builder
         * 
         */
        public Builder securityPolicy(Output securityPolicy) {
            $.securityPolicy = securityPolicy;
            return this;
        }

        /**
         * @param securityPolicy Transport Layer Security (TLS) version of the [security policy](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-custom-domain-tls-version.html) for the domain name. Valid values: `TLS_1_2`.
         * 
         * @return builder
         * 
         */
        public Builder securityPolicy(String securityPolicy) {
            return securityPolicy(Output.of(securityPolicy));
        }

        /**
         * @param targetDomainName Target domain name.
         * 
         * @return builder
         * 
         */
        public Builder targetDomainName(@Nullable Output targetDomainName) {
            $.targetDomainName = targetDomainName;
            return this;
        }

        /**
         * @param targetDomainName Target domain name.
         * 
         * @return builder
         * 
         */
        public Builder targetDomainName(String targetDomainName) {
            return targetDomainName(Output.of(targetDomainName));
        }

        public DomainNameDomainNameConfigurationArgs build() {
            if ($.certificateArn == null) {
                throw new MissingRequiredPropertyException("DomainNameDomainNameConfigurationArgs", "certificateArn");
            }
            if ($.endpointType == null) {
                throw new MissingRequiredPropertyException("DomainNameDomainNameConfigurationArgs", "endpointType");
            }
            if ($.securityPolicy == null) {
                throw new MissingRequiredPropertyException("DomainNameDomainNameConfigurationArgs", "securityPolicy");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy