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

com.pulumi.alicloud.vpc.Ipv6AddressArgs 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.vpc;

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


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

    public static final Ipv6AddressArgs Empty = new Ipv6AddressArgs();

    /**
     * The description of the IPv6 Address. The description must be 2 to 256 characters in length. It cannot start with http:// or https://.
     * 
     */
    @Import(name="ipv6AddressDescription")
    private @Nullable Output ipv6AddressDescription;

    /**
     * @return The description of the IPv6 Address. The description must be 2 to 256 characters in length. It cannot start with http:// or https://.
     * 
     */
    public Optional> ipv6AddressDescription() {
        return Optional.ofNullable(this.ipv6AddressDescription);
    }

    /**
     * The name of the IPv6 Address. The name must be 2 to 128 characters in length, and can contain letters, digits, underscores (_), and hyphens (-). The name must start with a letter but cannot start with http:// or https://.
     * 
     */
    @Import(name="ipv6AddressName")
    private @Nullable Output ipv6AddressName;

    /**
     * @return The name of the IPv6 Address. The name must be 2 to 128 characters in length, and can contain letters, digits, underscores (_), and hyphens (-). The name must start with a letter but cannot start with http:// or https://.
     * 
     */
    public Optional> ipv6AddressName() {
        return Optional.ofNullable(this.ipv6AddressName);
    }

    /**
     * The ID of the resource group to which the instance belongs.
     * 
     */
    @Import(name="resourceGroupId")
    private @Nullable Output resourceGroupId;

    /**
     * @return The ID of the resource group to which the instance belongs.
     * 
     */
    public Optional> resourceGroupId() {
        return Optional.ofNullable(this.resourceGroupId);
    }

    /**
     * The tags for the resource.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return The tags for the resource.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    /**
     * The VSwitchId of the IPv6 address.
     * 
     */
    @Import(name="vswitchId", required=true)
    private Output vswitchId;

    /**
     * @return The VSwitchId of the IPv6 address.
     * 
     */
    public Output vswitchId() {
        return this.vswitchId;
    }

    private Ipv6AddressArgs() {}

    private Ipv6AddressArgs(Ipv6AddressArgs $) {
        this.ipv6AddressDescription = $.ipv6AddressDescription;
        this.ipv6AddressName = $.ipv6AddressName;
        this.resourceGroupId = $.resourceGroupId;
        this.tags = $.tags;
        this.vswitchId = $.vswitchId;
    }

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

    public static final class Builder {
        private Ipv6AddressArgs $;

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

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

        /**
         * @param ipv6AddressDescription The description of the IPv6 Address. The description must be 2 to 256 characters in length. It cannot start with http:// or https://.
         * 
         * @return builder
         * 
         */
        public Builder ipv6AddressDescription(@Nullable Output ipv6AddressDescription) {
            $.ipv6AddressDescription = ipv6AddressDescription;
            return this;
        }

        /**
         * @param ipv6AddressDescription The description of the IPv6 Address. The description must be 2 to 256 characters in length. It cannot start with http:// or https://.
         * 
         * @return builder
         * 
         */
        public Builder ipv6AddressDescription(String ipv6AddressDescription) {
            return ipv6AddressDescription(Output.of(ipv6AddressDescription));
        }

        /**
         * @param ipv6AddressName The name of the IPv6 Address. The name must be 2 to 128 characters in length, and can contain letters, digits, underscores (_), and hyphens (-). The name must start with a letter but cannot start with http:// or https://.
         * 
         * @return builder
         * 
         */
        public Builder ipv6AddressName(@Nullable Output ipv6AddressName) {
            $.ipv6AddressName = ipv6AddressName;
            return this;
        }

        /**
         * @param ipv6AddressName The name of the IPv6 Address. The name must be 2 to 128 characters in length, and can contain letters, digits, underscores (_), and hyphens (-). The name must start with a letter but cannot start with http:// or https://.
         * 
         * @return builder
         * 
         */
        public Builder ipv6AddressName(String ipv6AddressName) {
            return ipv6AddressName(Output.of(ipv6AddressName));
        }

        /**
         * @param resourceGroupId The ID of the resource group to which the instance belongs.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupId(@Nullable Output resourceGroupId) {
            $.resourceGroupId = resourceGroupId;
            return this;
        }

        /**
         * @param resourceGroupId The ID of the resource group to which the instance belongs.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupId(String resourceGroupId) {
            return resourceGroupId(Output.of(resourceGroupId));
        }

        /**
         * @param tags The tags for the resource.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags The tags for the resource.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        /**
         * @param vswitchId The VSwitchId of the IPv6 address.
         * 
         * @return builder
         * 
         */
        public Builder vswitchId(Output vswitchId) {
            $.vswitchId = vswitchId;
            return this;
        }

        /**
         * @param vswitchId The VSwitchId of the IPv6 address.
         * 
         * @return builder
         * 
         */
        public Builder vswitchId(String vswitchId) {
            return vswitchId(Output.of(vswitchId));
        }

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

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy