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

com.pulumi.aws.elasticsearch.inputs.VpcEndpointVpcOptionsArgs 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.elasticsearch.inputs;

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


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

    public static final VpcEndpointVpcOptionsArgs Empty = new VpcEndpointVpcOptionsArgs();

    @Import(name="availabilityZones")
    private @Nullable Output> availabilityZones;

    public Optional>> availabilityZones() {
        return Optional.ofNullable(this.availabilityZones);
    }

    /**
     * The list of security group IDs associated with the VPC endpoints for the domain. If you do not provide a security group ID, elasticsearch Service uses the default security group for the VPC.
     * 
     */
    @Import(name="securityGroupIds")
    private @Nullable Output> securityGroupIds;

    /**
     * @return The list of security group IDs associated with the VPC endpoints for the domain. If you do not provide a security group ID, elasticsearch Service uses the default security group for the VPC.
     * 
     */
    public Optional>> securityGroupIds() {
        return Optional.ofNullable(this.securityGroupIds);
    }

    /**
     * A list of subnet IDs associated with the VPC endpoints for the domain. If your domain uses multiple Availability Zones, you need to provide two subnet IDs, one per zone. Otherwise, provide only one.
     * 
     */
    @Import(name="subnetIds", required=true)
    private Output> subnetIds;

    /**
     * @return A list of subnet IDs associated with the VPC endpoints for the domain. If your domain uses multiple Availability Zones, you need to provide two subnet IDs, one per zone. Otherwise, provide only one.
     * 
     */
    public Output> subnetIds() {
        return this.subnetIds;
    }

    @Import(name="vpcId")
    private @Nullable Output vpcId;

    public Optional> vpcId() {
        return Optional.ofNullable(this.vpcId);
    }

    private VpcEndpointVpcOptionsArgs() {}

    private VpcEndpointVpcOptionsArgs(VpcEndpointVpcOptionsArgs $) {
        this.availabilityZones = $.availabilityZones;
        this.securityGroupIds = $.securityGroupIds;
        this.subnetIds = $.subnetIds;
        this.vpcId = $.vpcId;
    }

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

    public static final class Builder {
        private VpcEndpointVpcOptionsArgs $;

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

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

        public Builder availabilityZones(@Nullable Output> availabilityZones) {
            $.availabilityZones = availabilityZones;
            return this;
        }

        public Builder availabilityZones(List availabilityZones) {
            return availabilityZones(Output.of(availabilityZones));
        }

        public Builder availabilityZones(String... availabilityZones) {
            return availabilityZones(List.of(availabilityZones));
        }

        /**
         * @param securityGroupIds The list of security group IDs associated with the VPC endpoints for the domain. If you do not provide a security group ID, elasticsearch Service uses the default security group for the VPC.
         * 
         * @return builder
         * 
         */
        public Builder securityGroupIds(@Nullable Output> securityGroupIds) {
            $.securityGroupIds = securityGroupIds;
            return this;
        }

        /**
         * @param securityGroupIds The list of security group IDs associated with the VPC endpoints for the domain. If you do not provide a security group ID, elasticsearch Service uses the default security group for the VPC.
         * 
         * @return builder
         * 
         */
        public Builder securityGroupIds(List securityGroupIds) {
            return securityGroupIds(Output.of(securityGroupIds));
        }

        /**
         * @param securityGroupIds The list of security group IDs associated with the VPC endpoints for the domain. If you do not provide a security group ID, elasticsearch Service uses the default security group for the VPC.
         * 
         * @return builder
         * 
         */
        public Builder securityGroupIds(String... securityGroupIds) {
            return securityGroupIds(List.of(securityGroupIds));
        }

        /**
         * @param subnetIds A list of subnet IDs associated with the VPC endpoints for the domain. If your domain uses multiple Availability Zones, you need to provide two subnet IDs, one per zone. Otherwise, provide only one.
         * 
         * @return builder
         * 
         */
        public Builder subnetIds(Output> subnetIds) {
            $.subnetIds = subnetIds;
            return this;
        }

        /**
         * @param subnetIds A list of subnet IDs associated with the VPC endpoints for the domain. If your domain uses multiple Availability Zones, you need to provide two subnet IDs, one per zone. Otherwise, provide only one.
         * 
         * @return builder
         * 
         */
        public Builder subnetIds(List subnetIds) {
            return subnetIds(Output.of(subnetIds));
        }

        /**
         * @param subnetIds A list of subnet IDs associated with the VPC endpoints for the domain. If your domain uses multiple Availability Zones, you need to provide two subnet IDs, one per zone. Otherwise, provide only one.
         * 
         * @return builder
         * 
         */
        public Builder subnetIds(String... subnetIds) {
            return subnetIds(List.of(subnetIds));
        }

        public Builder vpcId(@Nullable Output vpcId) {
            $.vpcId = vpcId;
            return this;
        }

        public Builder vpcId(String vpcId) {
            return vpcId(Output.of(vpcId));
        }

        public VpcEndpointVpcOptionsArgs build() {
            if ($.subnetIds == null) {
                throw new MissingRequiredPropertyException("VpcEndpointVpcOptionsArgs", "subnetIds");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy