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

com.pulumi.alicloud.vpc.PeerConnectionAccepterArgs 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.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final PeerConnectionAccepterArgs Empty = new PeerConnectionAccepterArgs();

    /**
     * The new bandwidth of the VPC peering connection. Unit: Mbit/s. The value must be an integer greater than 0.
     * 
     */
    @Import(name="bandwidth")
    private @Nullable Output bandwidth;

    /**
     * @return The new bandwidth of the VPC peering connection. Unit: Mbit/s. The value must be an integer greater than 0.
     * 
     */
    public Optional> bandwidth() {
        return Optional.ofNullable(this.bandwidth);
    }

    /**
     * The new description of the VPC peering connection.
     * 
     * The description must be 1 to 256 characters in length, and cannot start with `http://` or `https://`.
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

    /**
     * @return The new description of the VPC peering connection.
     * 
     * The description must be 1 to 256 characters in length, and cannot start with `http://` or `https://`.
     * 
     */
    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * Specifies whether to perform only a dry run, without performing the actual request. Valid values:
     * 
     */
    @Import(name="dryRun")
    private @Nullable Output dryRun;

    /**
     * @return Specifies whether to perform only a dry run, without performing the actual request. Valid values:
     * 
     */
    public Optional> dryRun() {
        return Optional.ofNullable(this.dryRun);
    }

    /**
     * Specifies whether to forcefully delete the VPC peering connection. Valid values:
     * 
     */
    @Import(name="forceDelete")
    private @Nullable Output forceDelete;

    /**
     * @return Specifies whether to forcefully delete the VPC peering connection. Valid values:
     * 
     */
    public Optional> forceDelete() {
        return Optional.ofNullable(this.forceDelete);
    }

    /**
     * The ID of the VPC peering connection whose name or description you want to modify.
     * 
     */
    @Import(name="instanceId", required=true)
    private Output instanceId;

    /**
     * @return The ID of the VPC peering connection whose name or description you want to modify.
     * 
     */
    public Output instanceId() {
        return this.instanceId;
    }

    /**
     * The new name of the VPC peering connection.
     * 
     * The name must be 1 to 128 characters in length, and cannot start with `http://` or `https://`.
     * 
     */
    @Import(name="peerConnectionAccepterName")
    private @Nullable Output peerConnectionAccepterName;

    /**
     * @return The new name of the VPC peering connection.
     * 
     * The name must be 1 to 128 characters in length, and cannot start with `http://` or `https://`.
     * 
     */
    public Optional> peerConnectionAccepterName() {
        return Optional.ofNullable(this.peerConnectionAccepterName);
    }

    /**
     * The ID of the new resource group.
     * 
     * > **NOTE:**   You can use resource groups to manage resources within your Alibaba Cloud account by group. This helps you resolve issues such as resource grouping and permission management for your Alibaba Cloud account. For more information, see [What is resource management?](https://www.alibabacloud.com/help/en/doc-detail/94475.html)
     * 
     */
    @Import(name="resourceGroupId")
    private @Nullable Output resourceGroupId;

    /**
     * @return The ID of the new resource group.
     * 
     * > **NOTE:**   You can use resource groups to manage resources within your Alibaba Cloud account by group. This helps you resolve issues such as resource grouping and permission management for your Alibaba Cloud account. For more information, see [What is resource management?](https://www.alibabacloud.com/help/en/doc-detail/94475.html)
     * 
     */
    public Optional> resourceGroupId() {
        return Optional.ofNullable(this.resourceGroupId);
    }

    private PeerConnectionAccepterArgs() {}

    private PeerConnectionAccepterArgs(PeerConnectionAccepterArgs $) {
        this.bandwidth = $.bandwidth;
        this.description = $.description;
        this.dryRun = $.dryRun;
        this.forceDelete = $.forceDelete;
        this.instanceId = $.instanceId;
        this.peerConnectionAccepterName = $.peerConnectionAccepterName;
        this.resourceGroupId = $.resourceGroupId;
    }

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

    public static final class Builder {
        private PeerConnectionAccepterArgs $;

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

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

        /**
         * @param bandwidth The new bandwidth of the VPC peering connection. Unit: Mbit/s. The value must be an integer greater than 0.
         * 
         * @return builder
         * 
         */
        public Builder bandwidth(@Nullable Output bandwidth) {
            $.bandwidth = bandwidth;
            return this;
        }

        /**
         * @param bandwidth The new bandwidth of the VPC peering connection. Unit: Mbit/s. The value must be an integer greater than 0.
         * 
         * @return builder
         * 
         */
        public Builder bandwidth(Integer bandwidth) {
            return bandwidth(Output.of(bandwidth));
        }

        /**
         * @param description The new description of the VPC peering connection.
         * 
         * The description must be 1 to 256 characters in length, and cannot start with `http://` or `https://`.
         * 
         * @return builder
         * 
         */
        public Builder description(@Nullable Output description) {
            $.description = description;
            return this;
        }

        /**
         * @param description The new description of the VPC peering connection.
         * 
         * The description must be 1 to 256 characters in length, and cannot start with `http://` or `https://`.
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

        /**
         * @param dryRun Specifies whether to perform only a dry run, without performing the actual request. Valid values:
         * 
         * @return builder
         * 
         */
        public Builder dryRun(@Nullable Output dryRun) {
            $.dryRun = dryRun;
            return this;
        }

        /**
         * @param dryRun Specifies whether to perform only a dry run, without performing the actual request. Valid values:
         * 
         * @return builder
         * 
         */
        public Builder dryRun(Boolean dryRun) {
            return dryRun(Output.of(dryRun));
        }

        /**
         * @param forceDelete Specifies whether to forcefully delete the VPC peering connection. Valid values:
         * 
         * @return builder
         * 
         */
        public Builder forceDelete(@Nullable Output forceDelete) {
            $.forceDelete = forceDelete;
            return this;
        }

        /**
         * @param forceDelete Specifies whether to forcefully delete the VPC peering connection. Valid values:
         * 
         * @return builder
         * 
         */
        public Builder forceDelete(Boolean forceDelete) {
            return forceDelete(Output.of(forceDelete));
        }

        /**
         * @param instanceId The ID of the VPC peering connection whose name or description you want to modify.
         * 
         * @return builder
         * 
         */
        public Builder instanceId(Output instanceId) {
            $.instanceId = instanceId;
            return this;
        }

        /**
         * @param instanceId The ID of the VPC peering connection whose name or description you want to modify.
         * 
         * @return builder
         * 
         */
        public Builder instanceId(String instanceId) {
            return instanceId(Output.of(instanceId));
        }

        /**
         * @param peerConnectionAccepterName The new name of the VPC peering connection.
         * 
         * The name must be 1 to 128 characters in length, and cannot start with `http://` or `https://`.
         * 
         * @return builder
         * 
         */
        public Builder peerConnectionAccepterName(@Nullable Output peerConnectionAccepterName) {
            $.peerConnectionAccepterName = peerConnectionAccepterName;
            return this;
        }

        /**
         * @param peerConnectionAccepterName The new name of the VPC peering connection.
         * 
         * The name must be 1 to 128 characters in length, and cannot start with `http://` or `https://`.
         * 
         * @return builder
         * 
         */
        public Builder peerConnectionAccepterName(String peerConnectionAccepterName) {
            return peerConnectionAccepterName(Output.of(peerConnectionAccepterName));
        }

        /**
         * @param resourceGroupId The ID of the new resource group.
         * 
         * > **NOTE:**   You can use resource groups to manage resources within your Alibaba Cloud account by group. This helps you resolve issues such as resource grouping and permission management for your Alibaba Cloud account. For more information, see [What is resource management?](https://www.alibabacloud.com/help/en/doc-detail/94475.html)
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupId(@Nullable Output resourceGroupId) {
            $.resourceGroupId = resourceGroupId;
            return this;
        }

        /**
         * @param resourceGroupId The ID of the new resource group.
         * 
         * > **NOTE:**   You can use resource groups to manage resources within your Alibaba Cloud account by group. This helps you resolve issues such as resource grouping and permission management for your Alibaba Cloud account. For more information, see [What is resource management?](https://www.alibabacloud.com/help/en/doc-detail/94475.html)
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupId(String resourceGroupId) {
            return resourceGroupId(Output.of(resourceGroupId));
        }

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

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy