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

com.pulumi.aws.ec2.outputs.VpcEndpointDnsOptions Maven / Gradle / Ivy

Go to download

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

There is a newer version: 6.60.0-alpha.1731982519
Show 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.ec2.outputs;

import com.pulumi.core.annotations.CustomType;
import java.lang.Boolean;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class VpcEndpointDnsOptions {
    /**
     * @return The DNS records created for the endpoint. Valid values are `ipv4`, `dualstack`, `service-defined`, and `ipv6`.
     * 
     */
    private @Nullable String dnsRecordIpType;
    /**
     * @return Indicates whether to enable private DNS only for inbound endpoints. This option is available only for services that support both gateway and interface endpoints. It routes traffic that originates from the VPC to the gateway endpoint and traffic that originates from on-premises to the interface endpoint. Default is `false`. Can only be specified if private_dns_enabled is `true`.
     * 
     */
    private @Nullable Boolean privateDnsOnlyForInboundResolverEndpoint;

    private VpcEndpointDnsOptions() {}
    /**
     * @return The DNS records created for the endpoint. Valid values are `ipv4`, `dualstack`, `service-defined`, and `ipv6`.
     * 
     */
    public Optional dnsRecordIpType() {
        return Optional.ofNullable(this.dnsRecordIpType);
    }
    /**
     * @return Indicates whether to enable private DNS only for inbound endpoints. This option is available only for services that support both gateway and interface endpoints. It routes traffic that originates from the VPC to the gateway endpoint and traffic that originates from on-premises to the interface endpoint. Default is `false`. Can only be specified if private_dns_enabled is `true`.
     * 
     */
    public Optional privateDnsOnlyForInboundResolverEndpoint() {
        return Optional.ofNullable(this.privateDnsOnlyForInboundResolverEndpoint);
    }

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

    public static Builder builder(VpcEndpointDnsOptions defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable String dnsRecordIpType;
        private @Nullable Boolean privateDnsOnlyForInboundResolverEndpoint;
        public Builder() {}
        public Builder(VpcEndpointDnsOptions defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.dnsRecordIpType = defaults.dnsRecordIpType;
    	      this.privateDnsOnlyForInboundResolverEndpoint = defaults.privateDnsOnlyForInboundResolverEndpoint;
        }

        @CustomType.Setter
        public Builder dnsRecordIpType(@Nullable String dnsRecordIpType) {

            this.dnsRecordIpType = dnsRecordIpType;
            return this;
        }
        @CustomType.Setter
        public Builder privateDnsOnlyForInboundResolverEndpoint(@Nullable Boolean privateDnsOnlyForInboundResolverEndpoint) {

            this.privateDnsOnlyForInboundResolverEndpoint = privateDnsOnlyForInboundResolverEndpoint;
            return this;
        }
        public VpcEndpointDnsOptions build() {
            final var _resultValue = new VpcEndpointDnsOptions();
            _resultValue.dnsRecordIpType = dnsRecordIpType;
            _resultValue.privateDnsOnlyForInboundResolverEndpoint = privateDnsOnlyForInboundResolverEndpoint;
            return _resultValue;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy