Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.aws.apigateway.DomainNameArgs Maven / Gradle / Ivy
// *** 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.apigateway;
import com.pulumi.aws.apigateway.inputs.DomainNameEndpointConfigurationArgs;
import com.pulumi.aws.apigateway.inputs.DomainNameMutualTlsAuthenticationArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class DomainNameArgs extends com.pulumi.resources.ResourceArgs {
public static final DomainNameArgs Empty = new DomainNameArgs();
/**
* ARN for an AWS-managed certificate. AWS Certificate Manager is the only supported source. Used when an edge-optimized domain name is desired. Conflicts with `certificate_name`, `certificate_body`, `certificate_chain`, `certificate_private_key`, `regional_certificate_arn`, and `regional_certificate_name`.
*
*/
@Import(name="certificateArn")
private @Nullable Output certificateArn;
/**
* @return ARN for an AWS-managed certificate. AWS Certificate Manager is the only supported source. Used when an edge-optimized domain name is desired. Conflicts with `certificate_name`, `certificate_body`, `certificate_chain`, `certificate_private_key`, `regional_certificate_arn`, and `regional_certificate_name`.
*
*/
public Optional> certificateArn() {
return Optional.ofNullable(this.certificateArn);
}
/**
* Certificate issued for the domain name being registered, in PEM format. Only valid for `EDGE` endpoint configuration type. Conflicts with `certificate_arn`, `regional_certificate_arn`, and `regional_certificate_name`.
*
*/
@Import(name="certificateBody")
private @Nullable Output certificateBody;
/**
* @return Certificate issued for the domain name being registered, in PEM format. Only valid for `EDGE` endpoint configuration type. Conflicts with `certificate_arn`, `regional_certificate_arn`, and `regional_certificate_name`.
*
*/
public Optional> certificateBody() {
return Optional.ofNullable(this.certificateBody);
}
/**
* Certificate for the CA that issued the certificate, along with any intermediate CA certificates required to create an unbroken chain to a certificate trusted by the intended API clients. Only valid for `EDGE` endpoint configuration type. Conflicts with `certificate_arn`, `regional_certificate_arn`, and `regional_certificate_name`.
*
*/
@Import(name="certificateChain")
private @Nullable Output certificateChain;
/**
* @return Certificate for the CA that issued the certificate, along with any intermediate CA certificates required to create an unbroken chain to a certificate trusted by the intended API clients. Only valid for `EDGE` endpoint configuration type. Conflicts with `certificate_arn`, `regional_certificate_arn`, and `regional_certificate_name`.
*
*/
public Optional> certificateChain() {
return Optional.ofNullable(this.certificateChain);
}
/**
* Unique name to use when registering this certificate as an IAM server certificate. Conflicts with `certificate_arn`, `regional_certificate_arn`, and `regional_certificate_name`. Required if `certificate_arn` is not set.
*
*/
@Import(name="certificateName")
private @Nullable Output certificateName;
/**
* @return Unique name to use when registering this certificate as an IAM server certificate. Conflicts with `certificate_arn`, `regional_certificate_arn`, and `regional_certificate_name`. Required if `certificate_arn` is not set.
*
*/
public Optional> certificateName() {
return Optional.ofNullable(this.certificateName);
}
/**
* Private key associated with the domain certificate given in `certificate_body`. Only valid for `EDGE` endpoint configuration type. Conflicts with `certificate_arn`, `regional_certificate_arn`, and `regional_certificate_name`.
*
*/
@Import(name="certificatePrivateKey")
private @Nullable Output certificatePrivateKey;
/**
* @return Private key associated with the domain certificate given in `certificate_body`. Only valid for `EDGE` endpoint configuration type. Conflicts with `certificate_arn`, `regional_certificate_arn`, and `regional_certificate_name`.
*
*/
public Optional> certificatePrivateKey() {
return Optional.ofNullable(this.certificatePrivateKey);
}
/**
* Fully-qualified domain name to register.
*
*/
@Import(name="domainName", required=true)
private Output domainName;
/**
* @return Fully-qualified domain name to register.
*
*/
public Output domainName() {
return this.domainName;
}
/**
* Configuration block defining API endpoint information including type. See below.
*
*/
@Import(name="endpointConfiguration")
private @Nullable Output endpointConfiguration;
/**
* @return Configuration block defining API endpoint information including type. See below.
*
*/
public Optional> endpointConfiguration() {
return Optional.ofNullable(this.endpointConfiguration);
}
/**
* Mutual TLS authentication configuration for the domain name. See below.
*
*/
@Import(name="mutualTlsAuthentication")
private @Nullable Output mutualTlsAuthentication;
/**
* @return Mutual TLS authentication configuration for the domain name. See below.
*
*/
public Optional> mutualTlsAuthentication() {
return Optional.ofNullable(this.mutualTlsAuthentication);
}
/**
* 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);
}
/**
* ARN for an AWS-managed certificate. AWS Certificate Manager is the only supported source. Used when a regional domain name is desired. Conflicts with `certificate_arn`, `certificate_name`, `certificate_body`, `certificate_chain`, and `certificate_private_key`.
*
* When uploading a certificate, the following arguments are supported:
*
*/
@Import(name="regionalCertificateArn")
private @Nullable Output regionalCertificateArn;
/**
* @return ARN for an AWS-managed certificate. AWS Certificate Manager is the only supported source. Used when a regional domain name is desired. Conflicts with `certificate_arn`, `certificate_name`, `certificate_body`, `certificate_chain`, and `certificate_private_key`.
*
* When uploading a certificate, the following arguments are supported:
*
*/
public Optional> regionalCertificateArn() {
return Optional.ofNullable(this.regionalCertificateArn);
}
/**
* User-friendly name of the certificate that will be used by regional endpoint for this domain name. Conflicts with `certificate_arn`, `certificate_name`, `certificate_body`, `certificate_chain`, and `certificate_private_key`.
*
*/
@Import(name="regionalCertificateName")
private @Nullable Output regionalCertificateName;
/**
* @return User-friendly name of the certificate that will be used by regional endpoint for this domain name. Conflicts with `certificate_arn`, `certificate_name`, `certificate_body`, `certificate_chain`, and `certificate_private_key`.
*
*/
public Optional> regionalCertificateName() {
return Optional.ofNullable(this.regionalCertificateName);
}
/**
* Transport Layer Security (TLS) version + cipher suite for this DomainName. Valid values are `TLS_1_0` and `TLS_1_2`. Must be configured to perform drift detection.
*
*/
@Import(name="securityPolicy")
private @Nullable Output securityPolicy;
/**
* @return Transport Layer Security (TLS) version + cipher suite for this DomainName. Valid values are `TLS_1_0` and `TLS_1_2`. Must be configured to perform drift detection.
*
*/
public Optional> securityPolicy() {
return Optional.ofNullable(this.securityPolicy);
}
/**
* Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*
* When referencing an AWS-managed certificate, the following arguments are supported:
*
*/
@Import(name="tags")
private @Nullable Output> tags;
/**
* @return Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*
* When referencing an AWS-managed certificate, the following arguments are supported:
*
*/
public Optional>> tags() {
return Optional.ofNullable(this.tags);
}
private DomainNameArgs() {}
private DomainNameArgs(DomainNameArgs $) {
this.certificateArn = $.certificateArn;
this.certificateBody = $.certificateBody;
this.certificateChain = $.certificateChain;
this.certificateName = $.certificateName;
this.certificatePrivateKey = $.certificatePrivateKey;
this.domainName = $.domainName;
this.endpointConfiguration = $.endpointConfiguration;
this.mutualTlsAuthentication = $.mutualTlsAuthentication;
this.ownershipVerificationCertificateArn = $.ownershipVerificationCertificateArn;
this.regionalCertificateArn = $.regionalCertificateArn;
this.regionalCertificateName = $.regionalCertificateName;
this.securityPolicy = $.securityPolicy;
this.tags = $.tags;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(DomainNameArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private DomainNameArgs $;
public Builder() {
$ = new DomainNameArgs();
}
public Builder(DomainNameArgs defaults) {
$ = new DomainNameArgs(Objects.requireNonNull(defaults));
}
/**
* @param certificateArn ARN for an AWS-managed certificate. AWS Certificate Manager is the only supported source. Used when an edge-optimized domain name is desired. Conflicts with `certificate_name`, `certificate_body`, `certificate_chain`, `certificate_private_key`, `regional_certificate_arn`, and `regional_certificate_name`.
*
* @return builder
*
*/
public Builder certificateArn(@Nullable Output certificateArn) {
$.certificateArn = certificateArn;
return this;
}
/**
* @param certificateArn ARN for an AWS-managed certificate. AWS Certificate Manager is the only supported source. Used when an edge-optimized domain name is desired. Conflicts with `certificate_name`, `certificate_body`, `certificate_chain`, `certificate_private_key`, `regional_certificate_arn`, and `regional_certificate_name`.
*
* @return builder
*
*/
public Builder certificateArn(String certificateArn) {
return certificateArn(Output.of(certificateArn));
}
/**
* @param certificateBody Certificate issued for the domain name being registered, in PEM format. Only valid for `EDGE` endpoint configuration type. Conflicts with `certificate_arn`, `regional_certificate_arn`, and `regional_certificate_name`.
*
* @return builder
*
*/
public Builder certificateBody(@Nullable Output certificateBody) {
$.certificateBody = certificateBody;
return this;
}
/**
* @param certificateBody Certificate issued for the domain name being registered, in PEM format. Only valid for `EDGE` endpoint configuration type. Conflicts with `certificate_arn`, `regional_certificate_arn`, and `regional_certificate_name`.
*
* @return builder
*
*/
public Builder certificateBody(String certificateBody) {
return certificateBody(Output.of(certificateBody));
}
/**
* @param certificateChain Certificate for the CA that issued the certificate, along with any intermediate CA certificates required to create an unbroken chain to a certificate trusted by the intended API clients. Only valid for `EDGE` endpoint configuration type. Conflicts with `certificate_arn`, `regional_certificate_arn`, and `regional_certificate_name`.
*
* @return builder
*
*/
public Builder certificateChain(@Nullable Output certificateChain) {
$.certificateChain = certificateChain;
return this;
}
/**
* @param certificateChain Certificate for the CA that issued the certificate, along with any intermediate CA certificates required to create an unbroken chain to a certificate trusted by the intended API clients. Only valid for `EDGE` endpoint configuration type. Conflicts with `certificate_arn`, `regional_certificate_arn`, and `regional_certificate_name`.
*
* @return builder
*
*/
public Builder certificateChain(String certificateChain) {
return certificateChain(Output.of(certificateChain));
}
/**
* @param certificateName Unique name to use when registering this certificate as an IAM server certificate. Conflicts with `certificate_arn`, `regional_certificate_arn`, and `regional_certificate_name`. Required if `certificate_arn` is not set.
*
* @return builder
*
*/
public Builder certificateName(@Nullable Output certificateName) {
$.certificateName = certificateName;
return this;
}
/**
* @param certificateName Unique name to use when registering this certificate as an IAM server certificate. Conflicts with `certificate_arn`, `regional_certificate_arn`, and `regional_certificate_name`. Required if `certificate_arn` is not set.
*
* @return builder
*
*/
public Builder certificateName(String certificateName) {
return certificateName(Output.of(certificateName));
}
/**
* @param certificatePrivateKey Private key associated with the domain certificate given in `certificate_body`. Only valid for `EDGE` endpoint configuration type. Conflicts with `certificate_arn`, `regional_certificate_arn`, and `regional_certificate_name`.
*
* @return builder
*
*/
public Builder certificatePrivateKey(@Nullable Output certificatePrivateKey) {
$.certificatePrivateKey = certificatePrivateKey;
return this;
}
/**
* @param certificatePrivateKey Private key associated with the domain certificate given in `certificate_body`. Only valid for `EDGE` endpoint configuration type. Conflicts with `certificate_arn`, `regional_certificate_arn`, and `regional_certificate_name`.
*
* @return builder
*
*/
public Builder certificatePrivateKey(String certificatePrivateKey) {
return certificatePrivateKey(Output.of(certificatePrivateKey));
}
/**
* @param domainName Fully-qualified domain name to register.
*
* @return builder
*
*/
public Builder domainName(Output domainName) {
$.domainName = domainName;
return this;
}
/**
* @param domainName Fully-qualified domain name to register.
*
* @return builder
*
*/
public Builder domainName(String domainName) {
return domainName(Output.of(domainName));
}
/**
* @param endpointConfiguration Configuration block defining API endpoint information including type. See below.
*
* @return builder
*
*/
public Builder endpointConfiguration(@Nullable Output endpointConfiguration) {
$.endpointConfiguration = endpointConfiguration;
return this;
}
/**
* @param endpointConfiguration Configuration block defining API endpoint information including type. See below.
*
* @return builder
*
*/
public Builder endpointConfiguration(DomainNameEndpointConfigurationArgs endpointConfiguration) {
return endpointConfiguration(Output.of(endpointConfiguration));
}
/**
* @param mutualTlsAuthentication Mutual TLS authentication configuration for the domain name. See below.
*
* @return builder
*
*/
public Builder mutualTlsAuthentication(@Nullable Output mutualTlsAuthentication) {
$.mutualTlsAuthentication = mutualTlsAuthentication;
return this;
}
/**
* @param mutualTlsAuthentication Mutual TLS authentication configuration for the domain name. See below.
*
* @return builder
*
*/
public Builder mutualTlsAuthentication(DomainNameMutualTlsAuthenticationArgs mutualTlsAuthentication) {
return mutualTlsAuthentication(Output.of(mutualTlsAuthentication));
}
/**
* @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 regionalCertificateArn ARN for an AWS-managed certificate. AWS Certificate Manager is the only supported source. Used when a regional domain name is desired. Conflicts with `certificate_arn`, `certificate_name`, `certificate_body`, `certificate_chain`, and `certificate_private_key`.
*
* When uploading a certificate, the following arguments are supported:
*
* @return builder
*
*/
public Builder regionalCertificateArn(@Nullable Output regionalCertificateArn) {
$.regionalCertificateArn = regionalCertificateArn;
return this;
}
/**
* @param regionalCertificateArn ARN for an AWS-managed certificate. AWS Certificate Manager is the only supported source. Used when a regional domain name is desired. Conflicts with `certificate_arn`, `certificate_name`, `certificate_body`, `certificate_chain`, and `certificate_private_key`.
*
* When uploading a certificate, the following arguments are supported:
*
* @return builder
*
*/
public Builder regionalCertificateArn(String regionalCertificateArn) {
return regionalCertificateArn(Output.of(regionalCertificateArn));
}
/**
* @param regionalCertificateName User-friendly name of the certificate that will be used by regional endpoint for this domain name. Conflicts with `certificate_arn`, `certificate_name`, `certificate_body`, `certificate_chain`, and `certificate_private_key`.
*
* @return builder
*
*/
public Builder regionalCertificateName(@Nullable Output regionalCertificateName) {
$.regionalCertificateName = regionalCertificateName;
return this;
}
/**
* @param regionalCertificateName User-friendly name of the certificate that will be used by regional endpoint for this domain name. Conflicts with `certificate_arn`, `certificate_name`, `certificate_body`, `certificate_chain`, and `certificate_private_key`.
*
* @return builder
*
*/
public Builder regionalCertificateName(String regionalCertificateName) {
return regionalCertificateName(Output.of(regionalCertificateName));
}
/**
* @param securityPolicy Transport Layer Security (TLS) version + cipher suite for this DomainName. Valid values are `TLS_1_0` and `TLS_1_2`. Must be configured to perform drift detection.
*
* @return builder
*
*/
public Builder securityPolicy(@Nullable Output securityPolicy) {
$.securityPolicy = securityPolicy;
return this;
}
/**
* @param securityPolicy Transport Layer Security (TLS) version + cipher suite for this DomainName. Valid values are `TLS_1_0` and `TLS_1_2`. Must be configured to perform drift detection.
*
* @return builder
*
*/
public Builder securityPolicy(String securityPolicy) {
return securityPolicy(Output.of(securityPolicy));
}
/**
* @param tags Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*
* When referencing an AWS-managed certificate, the following arguments are supported:
*
* @return builder
*
*/
public Builder tags(@Nullable Output> tags) {
$.tags = tags;
return this;
}
/**
* @param tags Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*
* When referencing an AWS-managed certificate, the following arguments are supported:
*
* @return builder
*
*/
public Builder tags(Map tags) {
return tags(Output.of(tags));
}
public DomainNameArgs build() {
if ($.domainName == null) {
throw new MissingRequiredPropertyException("DomainNameArgs", "domainName");
}
return $;
}
}
}