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

com.pulumi.alicloud.hologram.inputs.InstanceEndpointArgs Maven / Gradle / Ivy

There is a newer version: 3.63.0-alpha.1727424957
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.alicloud.hologram.inputs;

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


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

    public static final InstanceEndpointArgs Empty = new InstanceEndpointArgs();

    /**
     * Some old instances have both AnyTunnel and SingleTunnel enabled. When switching from AnyTunnel to SingleTunnel, the endpoints of both are retained. Therefore, one more field is required to store the Endpoint.
     * 
     */
    @Import(name="alternativeEndpoints")
    private @Nullable Output alternativeEndpoints;

    /**
     * @return Some old instances have both AnyTunnel and SingleTunnel enabled. When switching from AnyTunnel to SingleTunnel, the endpoints of both are retained. Therefore, one more field is required to store the Endpoint.
     * 
     */
    public Optional> alternativeEndpoints() {
        return Optional.ofNullable(this.alternativeEndpoints);
    }

    /**
     * Whether to turn on the network.
     * 
     */
    @Import(name="enabled")
    private @Nullable Output enabled;

    /**
     * @return Whether to turn on the network.
     * 
     */
    public Optional> enabled() {
        return Optional.ofNullable(this.enabled);
    }

    /**
     * Domain name.
     * 
     */
    @Import(name="endpoint")
    private @Nullable Output endpoint;

    /**
     * @return Domain name.
     * 
     */
    public Optional> endpoint() {
        return Optional.ofNullable(this.endpoint);
    }

    /**
     * The network type.
     * 
     */
    @Import(name="type")
    private @Nullable Output type;

    /**
     * @return The network type.
     * 
     */
    public Optional> type() {
        return Optional.ofNullable(this.type);
    }

    /**
     * VPC primary key.
     * 
     */
    @Import(name="vpcId")
    private @Nullable Output vpcId;

    /**
     * @return VPC primary key.
     * 
     */
    public Optional> vpcId() {
        return Optional.ofNullable(this.vpcId);
    }

    /**
     * The vpc instance ID.
     * 
     */
    @Import(name="vpcInstanceId")
    private @Nullable Output vpcInstanceId;

    /**
     * @return The vpc instance ID.
     * 
     */
    public Optional> vpcInstanceId() {
        return Optional.ofNullable(this.vpcInstanceId);
    }

    /**
     * The ID of the virtual switch.
     * 
     */
    @Import(name="vswitchId")
    private @Nullable Output vswitchId;

    /**
     * @return The ID of the virtual switch.
     * 
     */
    public Optional> vswitchId() {
        return Optional.ofNullable(this.vswitchId);
    }

    private InstanceEndpointArgs() {}

    private InstanceEndpointArgs(InstanceEndpointArgs $) {
        this.alternativeEndpoints = $.alternativeEndpoints;
        this.enabled = $.enabled;
        this.endpoint = $.endpoint;
        this.type = $.type;
        this.vpcId = $.vpcId;
        this.vpcInstanceId = $.vpcInstanceId;
        this.vswitchId = $.vswitchId;
    }

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

    public static final class Builder {
        private InstanceEndpointArgs $;

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

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

        /**
         * @param alternativeEndpoints Some old instances have both AnyTunnel and SingleTunnel enabled. When switching from AnyTunnel to SingleTunnel, the endpoints of both are retained. Therefore, one more field is required to store the Endpoint.
         * 
         * @return builder
         * 
         */
        public Builder alternativeEndpoints(@Nullable Output alternativeEndpoints) {
            $.alternativeEndpoints = alternativeEndpoints;
            return this;
        }

        /**
         * @param alternativeEndpoints Some old instances have both AnyTunnel and SingleTunnel enabled. When switching from AnyTunnel to SingleTunnel, the endpoints of both are retained. Therefore, one more field is required to store the Endpoint.
         * 
         * @return builder
         * 
         */
        public Builder alternativeEndpoints(String alternativeEndpoints) {
            return alternativeEndpoints(Output.of(alternativeEndpoints));
        }

        /**
         * @param enabled Whether to turn on the network.
         * 
         * @return builder
         * 
         */
        public Builder enabled(@Nullable Output enabled) {
            $.enabled = enabled;
            return this;
        }

        /**
         * @param enabled Whether to turn on the network.
         * 
         * @return builder
         * 
         */
        public Builder enabled(Boolean enabled) {
            return enabled(Output.of(enabled));
        }

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

        /**
         * @param endpoint Domain name.
         * 
         * @return builder
         * 
         */
        public Builder endpoint(String endpoint) {
            return endpoint(Output.of(endpoint));
        }

        /**
         * @param type The network type.
         * 
         * @return builder
         * 
         */
        public Builder type(@Nullable Output type) {
            $.type = type;
            return this;
        }

        /**
         * @param type The network type.
         * 
         * @return builder
         * 
         */
        public Builder type(String type) {
            return type(Output.of(type));
        }

        /**
         * @param vpcId VPC primary key.
         * 
         * @return builder
         * 
         */
        public Builder vpcId(@Nullable Output vpcId) {
            $.vpcId = vpcId;
            return this;
        }

        /**
         * @param vpcId VPC primary key.
         * 
         * @return builder
         * 
         */
        public Builder vpcId(String vpcId) {
            return vpcId(Output.of(vpcId));
        }

        /**
         * @param vpcInstanceId The vpc instance ID.
         * 
         * @return builder
         * 
         */
        public Builder vpcInstanceId(@Nullable Output vpcInstanceId) {
            $.vpcInstanceId = vpcInstanceId;
            return this;
        }

        /**
         * @param vpcInstanceId The vpc instance ID.
         * 
         * @return builder
         * 
         */
        public Builder vpcInstanceId(String vpcInstanceId) {
            return vpcInstanceId(Output.of(vpcInstanceId));
        }

        /**
         * @param vswitchId The ID of the virtual switch.
         * 
         * @return builder
         * 
         */
        public Builder vswitchId(@Nullable Output vswitchId) {
            $.vswitchId = vswitchId;
            return this;
        }

        /**
         * @param vswitchId The ID of the virtual switch.
         * 
         * @return builder
         * 
         */
        public Builder vswitchId(String vswitchId) {
            return vswitchId(Output.of(vswitchId));
        }

        public InstanceEndpointArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy