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

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

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


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

    public static final RouterInterfaceState Empty = new RouterInterfaceState();

    /**
     * It has been deprecated from version 1.11.0.
     * 
     * @deprecated
     * Attribute 'opposite_access_point_id' has been deprecated from version 1.11.0.
     * 
     */
    @Deprecated /* Attribute 'opposite_access_point_id' has been deprecated from version 1.11.0. */
    @Import(name="accessPointId")
    private @Nullable Output accessPointId;

    /**
     * @return It has been deprecated from version 1.11.0.
     * 
     * @deprecated
     * Attribute 'opposite_access_point_id' has been deprecated from version 1.11.0.
     * 
     */
    @Deprecated /* Attribute 'opposite_access_point_id' has been deprecated from version 1.11.0. */
    public Optional> accessPointId() {
        return Optional.ofNullable(this.accessPointId);
    }

    /**
     * Description of the router interface. It can be 2-256 characters long or left blank. It cannot start with http:// and https://.
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

    /**
     * @return Description of the router interface. It can be 2-256 characters long or left blank. It cannot start with http:// and https://.
     * 
     */
    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * Used as the Packet Source IP of health check for disaster recovery or ECMP. It is only valid when `router_type` is `VBR`. The IP must be an unused IP in the local VPC. It and `health_check_target_ip` must be specified at the same time.
     * 
     */
    @Import(name="healthCheckSourceIp")
    private @Nullable Output healthCheckSourceIp;

    /**
     * @return Used as the Packet Source IP of health check for disaster recovery or ECMP. It is only valid when `router_type` is `VBR`. The IP must be an unused IP in the local VPC. It and `health_check_target_ip` must be specified at the same time.
     * 
     */
    public Optional> healthCheckSourceIp() {
        return Optional.ofNullable(this.healthCheckSourceIp);
    }

    /**
     * Used as the Packet Target IP of health check for disaster recovery or ECMP. It is only valid when `router_type` is `VBR`. The IP must be an unused IP in the local VPC. It and `health_check_source_ip` must be specified at the same time.
     * 
     */
    @Import(name="healthCheckTargetIp")
    private @Nullable Output healthCheckTargetIp;

    /**
     * @return Used as the Packet Target IP of health check for disaster recovery or ECMP. It is only valid when `router_type` is `VBR`. The IP must be an unused IP in the local VPC. It and `health_check_source_ip` must be specified at the same time.
     * 
     */
    public Optional> healthCheckTargetIp() {
        return Optional.ofNullable(this.healthCheckTargetIp);
    }

    /**
     * The billing method of the router interface. Valid values are "PrePaid" and "PostPaid". Default to "PostPaid". Router Interface doesn't support "PrePaid" when region and opposite_region are the same.
     * 
     */
    @Import(name="instanceChargeType")
    private @Nullable Output instanceChargeType;

    /**
     * @return The billing method of the router interface. Valid values are "PrePaid" and "PostPaid". Default to "PostPaid". Router Interface doesn't support "PrePaid" when region and opposite_region are the same.
     * 
     */
    public Optional> instanceChargeType() {
        return Optional.ofNullable(this.instanceChargeType);
    }

    /**
     * Name of the router interface. Length must be 2-80 characters long. Only Chinese characters, English letters, numbers, period (.), underline (_), or dash (-) are permitted.
     * If it is not specified, the default value is interface ID. The name cannot start with http:// and https://.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return Name of the router interface. Length must be 2-80 characters long. Only Chinese characters, English letters, numbers, period (.), underline (_), or dash (-) are permitted.
     * If it is not specified, the default value is interface ID. The name cannot start with http:// and https://.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * It has been deprecated from version 1.11.0.
     * 
     * @deprecated
     * Attribute 'opposite_access_point_id' has been deprecated from version 1.11.0.
     * 
     */
    @Deprecated /* Attribute 'opposite_access_point_id' has been deprecated from version 1.11.0. */
    @Import(name="oppositeAccessPointId")
    private @Nullable Output oppositeAccessPointId;

    /**
     * @return It has been deprecated from version 1.11.0.
     * 
     * @deprecated
     * Attribute 'opposite_access_point_id' has been deprecated from version 1.11.0.
     * 
     */
    @Deprecated /* Attribute 'opposite_access_point_id' has been deprecated from version 1.11.0. */
    public Optional> oppositeAccessPointId() {
        return Optional.ofNullable(this.oppositeAccessPointId);
    }

    /**
     * It has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_router_id' instead.
     * 
     * @deprecated
     * Attribute 'opposite_interface_id' has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_interface_id' instead.
     * 
     */
    @Deprecated /* Attribute 'opposite_interface_id' has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_interface_id' instead. */
    @Import(name="oppositeInterfaceId")
    private @Nullable Output oppositeInterfaceId;

    /**
     * @return It has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_router_id' instead.
     * 
     * @deprecated
     * Attribute 'opposite_interface_id' has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_interface_id' instead.
     * 
     */
    @Deprecated /* Attribute 'opposite_interface_id' has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_interface_id' instead. */
    public Optional> oppositeInterfaceId() {
        return Optional.ofNullable(this.oppositeInterfaceId);
    }

    /**
     * It has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_interface_id' instead.
     * 
     * @deprecated
     * Attribute 'opposite_interface_owner_id' has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_interface_owner_id' instead.
     * 
     */
    @Deprecated /* Attribute 'opposite_interface_owner_id' has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_interface_owner_id' instead. */
    @Import(name="oppositeInterfaceOwnerId")
    private @Nullable Output oppositeInterfaceOwnerId;

    /**
     * @return It has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_interface_id' instead.
     * 
     * @deprecated
     * Attribute 'opposite_interface_owner_id' has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_interface_owner_id' instead.
     * 
     */
    @Deprecated /* Attribute 'opposite_interface_owner_id' has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_interface_owner_id' instead. */
    public Optional> oppositeInterfaceOwnerId() {
        return Optional.ofNullable(this.oppositeInterfaceOwnerId);
    }

    /**
     * The Region of peer side.
     * 
     */
    @Import(name="oppositeRegion")
    private @Nullable Output oppositeRegion;

    /**
     * @return The Region of peer side.
     * 
     */
    public Optional> oppositeRegion() {
        return Optional.ofNullable(this.oppositeRegion);
    }

    /**
     * It has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_router_id' instead.
     * 
     * @deprecated
     * Attribute 'opposite_router_id' has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_router_id' instead.
     * 
     */
    @Deprecated /* Attribute 'opposite_router_id' has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_router_id' instead. */
    @Import(name="oppositeRouterId")
    private @Nullable Output oppositeRouterId;

    /**
     * @return It has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_router_id' instead.
     * 
     * @deprecated
     * Attribute 'opposite_router_id' has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_router_id' instead.
     * 
     */
    @Deprecated /* Attribute 'opposite_router_id' has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_router_id' instead. */
    public Optional> oppositeRouterId() {
        return Optional.ofNullable(this.oppositeRouterId);
    }

    /**
     * It has been deprecated from version 1.11.0. resource alicloud_router_interface_connection's 'opposite_router_type' instead.
     * 
     * @deprecated
     * Attribute 'opposite_router_type' has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_router_type' instead.
     * 
     */
    @Deprecated /* Attribute 'opposite_router_type' has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_router_type' instead. */
    @Import(name="oppositeRouterType")
    private @Nullable Output oppositeRouterType;

    /**
     * @return It has been deprecated from version 1.11.0. resource alicloud_router_interface_connection's 'opposite_router_type' instead.
     * 
     * @deprecated
     * Attribute 'opposite_router_type' has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_router_type' instead.
     * 
     */
    @Deprecated /* Attribute 'opposite_router_type' has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_router_type' instead. */
    public Optional> oppositeRouterType() {
        return Optional.ofNullable(this.oppositeRouterType);
    }

    /**
     * The duration that you will buy the resource, in month. It is valid when `instance_charge_type` is `PrePaid`. Valid values: [1-9, 12, 24, 36]. At present, the provider does not support modify "period" and you can do that via web console.
     * > **NOTE:** The attribute `period` is only used to create Subscription instance or modify the PayAsYouGo instance to Subscription. Once effect, it will not be modified that means running `pulumi up` will not effect the resource.
     * 
     */
    @Import(name="period")
    private @Nullable Output period;

    /**
     * @return The duration that you will buy the resource, in month. It is valid when `instance_charge_type` is `PrePaid`. Valid values: [1-9, 12, 24, 36]. At present, the provider does not support modify "period" and you can do that via web console.
     * > **NOTE:** The attribute `period` is only used to create Subscription instance or modify the PayAsYouGo instance to Subscription. Once effect, it will not be modified that means running `pulumi up` will not effect the resource.
     * 
     */
    public Optional> period() {
        return Optional.ofNullable(this.period);
    }

    /**
     * The role the router interface plays. Optional value: `InitiatingSide`, `AcceptingSide`.
     * 
     */
    @Import(name="role")
    private @Nullable Output role;

    /**
     * @return The role the router interface plays. Optional value: `InitiatingSide`, `AcceptingSide`.
     * 
     */
    public Optional> role() {
        return Optional.ofNullable(this.role);
    }

    /**
     * The Router ID.
     * 
     */
    @Import(name="routerId")
    private @Nullable Output routerId;

    /**
     * @return The Router ID.
     * 
     */
    public Optional> routerId() {
        return Optional.ofNullable(this.routerId);
    }

    /**
     * Router Type. Optional value: VRouter, VBR. Accepting side router interface type only be VRouter.
     * 
     */
    @Import(name="routerType")
    private @Nullable Output routerType;

    /**
     * @return Router Type. Optional value: VRouter, VBR. Accepting side router interface type only be VRouter.
     * 
     */
    public Optional> routerType() {
        return Optional.ofNullable(this.routerType);
    }

    /**
     * Specification of router interfaces. It is valid when `role` is `InitiatingSide`. Accepting side's role is default to set as 'Negative'. For more about the specification, refer to [Router interface specification](https://www.alibabacloud.com/help/doc-detail/36037.htm).
     * 
     */
    @Import(name="specification")
    private @Nullable Output specification;

    /**
     * @return Specification of router interfaces. It is valid when `role` is `InitiatingSide`. Accepting side's role is default to set as 'Negative'. For more about the specification, refer to [Router interface specification](https://www.alibabacloud.com/help/doc-detail/36037.htm).
     * 
     */
    public Optional> specification() {
        return Optional.ofNullable(this.specification);
    }

    private RouterInterfaceState() {}

    private RouterInterfaceState(RouterInterfaceState $) {
        this.accessPointId = $.accessPointId;
        this.description = $.description;
        this.healthCheckSourceIp = $.healthCheckSourceIp;
        this.healthCheckTargetIp = $.healthCheckTargetIp;
        this.instanceChargeType = $.instanceChargeType;
        this.name = $.name;
        this.oppositeAccessPointId = $.oppositeAccessPointId;
        this.oppositeInterfaceId = $.oppositeInterfaceId;
        this.oppositeInterfaceOwnerId = $.oppositeInterfaceOwnerId;
        this.oppositeRegion = $.oppositeRegion;
        this.oppositeRouterId = $.oppositeRouterId;
        this.oppositeRouterType = $.oppositeRouterType;
        this.period = $.period;
        this.role = $.role;
        this.routerId = $.routerId;
        this.routerType = $.routerType;
        this.specification = $.specification;
    }

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

    public static final class Builder {
        private RouterInterfaceState $;

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

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

        /**
         * @param accessPointId It has been deprecated from version 1.11.0.
         * 
         * @return builder
         * 
         * @deprecated
         * Attribute 'opposite_access_point_id' has been deprecated from version 1.11.0.
         * 
         */
        @Deprecated /* Attribute 'opposite_access_point_id' has been deprecated from version 1.11.0. */
        public Builder accessPointId(@Nullable Output accessPointId) {
            $.accessPointId = accessPointId;
            return this;
        }

        /**
         * @param accessPointId It has been deprecated from version 1.11.0.
         * 
         * @return builder
         * 
         * @deprecated
         * Attribute 'opposite_access_point_id' has been deprecated from version 1.11.0.
         * 
         */
        @Deprecated /* Attribute 'opposite_access_point_id' has been deprecated from version 1.11.0. */
        public Builder accessPointId(String accessPointId) {
            return accessPointId(Output.of(accessPointId));
        }

        /**
         * @param description Description of the router interface. It can be 2-256 characters long or left blank. It cannot start with http:// and https://.
         * 
         * @return builder
         * 
         */
        public Builder description(@Nullable Output description) {
            $.description = description;
            return this;
        }

        /**
         * @param description Description of the router interface. It can be 2-256 characters long or left blank. It cannot start with http:// and https://.
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

        /**
         * @param healthCheckSourceIp Used as the Packet Source IP of health check for disaster recovery or ECMP. It is only valid when `router_type` is `VBR`. The IP must be an unused IP in the local VPC. It and `health_check_target_ip` must be specified at the same time.
         * 
         * @return builder
         * 
         */
        public Builder healthCheckSourceIp(@Nullable Output healthCheckSourceIp) {
            $.healthCheckSourceIp = healthCheckSourceIp;
            return this;
        }

        /**
         * @param healthCheckSourceIp Used as the Packet Source IP of health check for disaster recovery or ECMP. It is only valid when `router_type` is `VBR`. The IP must be an unused IP in the local VPC. It and `health_check_target_ip` must be specified at the same time.
         * 
         * @return builder
         * 
         */
        public Builder healthCheckSourceIp(String healthCheckSourceIp) {
            return healthCheckSourceIp(Output.of(healthCheckSourceIp));
        }

        /**
         * @param healthCheckTargetIp Used as the Packet Target IP of health check for disaster recovery or ECMP. It is only valid when `router_type` is `VBR`. The IP must be an unused IP in the local VPC. It and `health_check_source_ip` must be specified at the same time.
         * 
         * @return builder
         * 
         */
        public Builder healthCheckTargetIp(@Nullable Output healthCheckTargetIp) {
            $.healthCheckTargetIp = healthCheckTargetIp;
            return this;
        }

        /**
         * @param healthCheckTargetIp Used as the Packet Target IP of health check for disaster recovery or ECMP. It is only valid when `router_type` is `VBR`. The IP must be an unused IP in the local VPC. It and `health_check_source_ip` must be specified at the same time.
         * 
         * @return builder
         * 
         */
        public Builder healthCheckTargetIp(String healthCheckTargetIp) {
            return healthCheckTargetIp(Output.of(healthCheckTargetIp));
        }

        /**
         * @param instanceChargeType The billing method of the router interface. Valid values are "PrePaid" and "PostPaid". Default to "PostPaid". Router Interface doesn't support "PrePaid" when region and opposite_region are the same.
         * 
         * @return builder
         * 
         */
        public Builder instanceChargeType(@Nullable Output instanceChargeType) {
            $.instanceChargeType = instanceChargeType;
            return this;
        }

        /**
         * @param instanceChargeType The billing method of the router interface. Valid values are "PrePaid" and "PostPaid". Default to "PostPaid". Router Interface doesn't support "PrePaid" when region and opposite_region are the same.
         * 
         * @return builder
         * 
         */
        public Builder instanceChargeType(String instanceChargeType) {
            return instanceChargeType(Output.of(instanceChargeType));
        }

        /**
         * @param name Name of the router interface. Length must be 2-80 characters long. Only Chinese characters, English letters, numbers, period (.), underline (_), or dash (-) are permitted.
         * If it is not specified, the default value is interface ID. The name cannot start with http:// and https://.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name Name of the router interface. Length must be 2-80 characters long. Only Chinese characters, English letters, numbers, period (.), underline (_), or dash (-) are permitted.
         * If it is not specified, the default value is interface ID. The name cannot start with http:// and https://.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param oppositeAccessPointId It has been deprecated from version 1.11.0.
         * 
         * @return builder
         * 
         * @deprecated
         * Attribute 'opposite_access_point_id' has been deprecated from version 1.11.0.
         * 
         */
        @Deprecated /* Attribute 'opposite_access_point_id' has been deprecated from version 1.11.0. */
        public Builder oppositeAccessPointId(@Nullable Output oppositeAccessPointId) {
            $.oppositeAccessPointId = oppositeAccessPointId;
            return this;
        }

        /**
         * @param oppositeAccessPointId It has been deprecated from version 1.11.0.
         * 
         * @return builder
         * 
         * @deprecated
         * Attribute 'opposite_access_point_id' has been deprecated from version 1.11.0.
         * 
         */
        @Deprecated /* Attribute 'opposite_access_point_id' has been deprecated from version 1.11.0. */
        public Builder oppositeAccessPointId(String oppositeAccessPointId) {
            return oppositeAccessPointId(Output.of(oppositeAccessPointId));
        }

        /**
         * @param oppositeInterfaceId It has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_router_id' instead.
         * 
         * @return builder
         * 
         * @deprecated
         * Attribute 'opposite_interface_id' has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_interface_id' instead.
         * 
         */
        @Deprecated /* Attribute 'opposite_interface_id' has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_interface_id' instead. */
        public Builder oppositeInterfaceId(@Nullable Output oppositeInterfaceId) {
            $.oppositeInterfaceId = oppositeInterfaceId;
            return this;
        }

        /**
         * @param oppositeInterfaceId It has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_router_id' instead.
         * 
         * @return builder
         * 
         * @deprecated
         * Attribute 'opposite_interface_id' has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_interface_id' instead.
         * 
         */
        @Deprecated /* Attribute 'opposite_interface_id' has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_interface_id' instead. */
        public Builder oppositeInterfaceId(String oppositeInterfaceId) {
            return oppositeInterfaceId(Output.of(oppositeInterfaceId));
        }

        /**
         * @param oppositeInterfaceOwnerId It has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_interface_id' instead.
         * 
         * @return builder
         * 
         * @deprecated
         * Attribute 'opposite_interface_owner_id' has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_interface_owner_id' instead.
         * 
         */
        @Deprecated /* Attribute 'opposite_interface_owner_id' has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_interface_owner_id' instead. */
        public Builder oppositeInterfaceOwnerId(@Nullable Output oppositeInterfaceOwnerId) {
            $.oppositeInterfaceOwnerId = oppositeInterfaceOwnerId;
            return this;
        }

        /**
         * @param oppositeInterfaceOwnerId It has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_interface_id' instead.
         * 
         * @return builder
         * 
         * @deprecated
         * Attribute 'opposite_interface_owner_id' has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_interface_owner_id' instead.
         * 
         */
        @Deprecated /* Attribute 'opposite_interface_owner_id' has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_interface_owner_id' instead. */
        public Builder oppositeInterfaceOwnerId(String oppositeInterfaceOwnerId) {
            return oppositeInterfaceOwnerId(Output.of(oppositeInterfaceOwnerId));
        }

        /**
         * @param oppositeRegion The Region of peer side.
         * 
         * @return builder
         * 
         */
        public Builder oppositeRegion(@Nullable Output oppositeRegion) {
            $.oppositeRegion = oppositeRegion;
            return this;
        }

        /**
         * @param oppositeRegion The Region of peer side.
         * 
         * @return builder
         * 
         */
        public Builder oppositeRegion(String oppositeRegion) {
            return oppositeRegion(Output.of(oppositeRegion));
        }

        /**
         * @param oppositeRouterId It has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_router_id' instead.
         * 
         * @return builder
         * 
         * @deprecated
         * Attribute 'opposite_router_id' has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_router_id' instead.
         * 
         */
        @Deprecated /* Attribute 'opposite_router_id' has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_router_id' instead. */
        public Builder oppositeRouterId(@Nullable Output oppositeRouterId) {
            $.oppositeRouterId = oppositeRouterId;
            return this;
        }

        /**
         * @param oppositeRouterId It has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_router_id' instead.
         * 
         * @return builder
         * 
         * @deprecated
         * Attribute 'opposite_router_id' has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_router_id' instead.
         * 
         */
        @Deprecated /* Attribute 'opposite_router_id' has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_router_id' instead. */
        public Builder oppositeRouterId(String oppositeRouterId) {
            return oppositeRouterId(Output.of(oppositeRouterId));
        }

        /**
         * @param oppositeRouterType It has been deprecated from version 1.11.0. resource alicloud_router_interface_connection's 'opposite_router_type' instead.
         * 
         * @return builder
         * 
         * @deprecated
         * Attribute 'opposite_router_type' has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_router_type' instead.
         * 
         */
        @Deprecated /* Attribute 'opposite_router_type' has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_router_type' instead. */
        public Builder oppositeRouterType(@Nullable Output oppositeRouterType) {
            $.oppositeRouterType = oppositeRouterType;
            return this;
        }

        /**
         * @param oppositeRouterType It has been deprecated from version 1.11.0. resource alicloud_router_interface_connection's 'opposite_router_type' instead.
         * 
         * @return builder
         * 
         * @deprecated
         * Attribute 'opposite_router_type' has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_router_type' instead.
         * 
         */
        @Deprecated /* Attribute 'opposite_router_type' has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_router_type' instead. */
        public Builder oppositeRouterType(String oppositeRouterType) {
            return oppositeRouterType(Output.of(oppositeRouterType));
        }

        /**
         * @param period The duration that you will buy the resource, in month. It is valid when `instance_charge_type` is `PrePaid`. Valid values: [1-9, 12, 24, 36]. At present, the provider does not support modify "period" and you can do that via web console.
         * > **NOTE:** The attribute `period` is only used to create Subscription instance or modify the PayAsYouGo instance to Subscription. Once effect, it will not be modified that means running `pulumi up` will not effect the resource.
         * 
         * @return builder
         * 
         */
        public Builder period(@Nullable Output period) {
            $.period = period;
            return this;
        }

        /**
         * @param period The duration that you will buy the resource, in month. It is valid when `instance_charge_type` is `PrePaid`. Valid values: [1-9, 12, 24, 36]. At present, the provider does not support modify "period" and you can do that via web console.
         * > **NOTE:** The attribute `period` is only used to create Subscription instance or modify the PayAsYouGo instance to Subscription. Once effect, it will not be modified that means running `pulumi up` will not effect the resource.
         * 
         * @return builder
         * 
         */
        public Builder period(Integer period) {
            return period(Output.of(period));
        }

        /**
         * @param role The role the router interface plays. Optional value: `InitiatingSide`, `AcceptingSide`.
         * 
         * @return builder
         * 
         */
        public Builder role(@Nullable Output role) {
            $.role = role;
            return this;
        }

        /**
         * @param role The role the router interface plays. Optional value: `InitiatingSide`, `AcceptingSide`.
         * 
         * @return builder
         * 
         */
        public Builder role(String role) {
            return role(Output.of(role));
        }

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

        /**
         * @param routerId The Router ID.
         * 
         * @return builder
         * 
         */
        public Builder routerId(String routerId) {
            return routerId(Output.of(routerId));
        }

        /**
         * @param routerType Router Type. Optional value: VRouter, VBR. Accepting side router interface type only be VRouter.
         * 
         * @return builder
         * 
         */
        public Builder routerType(@Nullable Output routerType) {
            $.routerType = routerType;
            return this;
        }

        /**
         * @param routerType Router Type. Optional value: VRouter, VBR. Accepting side router interface type only be VRouter.
         * 
         * @return builder
         * 
         */
        public Builder routerType(String routerType) {
            return routerType(Output.of(routerType));
        }

        /**
         * @param specification Specification of router interfaces. It is valid when `role` is `InitiatingSide`. Accepting side's role is default to set as 'Negative'. For more about the specification, refer to [Router interface specification](https://www.alibabacloud.com/help/doc-detail/36037.htm).
         * 
         * @return builder
         * 
         */
        public Builder specification(@Nullable Output specification) {
            $.specification = specification;
            return this;
        }

        /**
         * @param specification Specification of router interfaces. It is valid when `role` is `InitiatingSide`. Accepting side's role is default to set as 'Negative'. For more about the specification, refer to [Router interface specification](https://www.alibabacloud.com/help/doc-detail/36037.htm).
         * 
         * @return builder
         * 
         */
        public Builder specification(String specification) {
            return specification(Output.of(specification));
        }

        public RouterInterfaceState build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy