All Downloads are FREE. Search and download functionalities are using the official Maven repository.
Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.alicloud.expressconnect.PhysicalConnectionArgs Maven / Gradle / Ivy
Go to download
A Pulumi package for creating and managing AliCloud resources.
// *** 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.expressconnect;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class PhysicalConnectionArgs extends com.pulumi.resources.ResourceArgs {
public static final PhysicalConnectionArgs Empty = new PhysicalConnectionArgs();
/**
* The access point ID of the Express Connect circuit.
*
*/
@Import(name="accessPointId", required=true)
private Output accessPointId;
/**
* @return The access point ID of the Express Connect circuit.
*
*/
public Output accessPointId() {
return this.accessPointId;
}
/**
* The maximum bandwidth of the hosted connection.
*
*/
@Import(name="bandwidth")
private @Nullable Output bandwidth;
/**
* @return The maximum bandwidth of the hosted connection.
*
*/
public Optional> bandwidth() {
return Optional.ofNullable(this.bandwidth);
}
/**
* The circuit code of the Express Connect circuit.
*
*/
@Import(name="circuitCode")
private @Nullable Output circuitCode;
/**
* @return The circuit code of the Express Connect circuit.
*
*/
public Optional> circuitCode() {
return Optional.ofNullable(this.circuitCode);
}
/**
* The description of the Express Connect circuit.
*
*/
@Import(name="description")
private @Nullable Output description;
/**
* @return The description of the Express Connect circuit.
*
*/
public Optional> description() {
return Optional.ofNullable(this.description);
}
/**
* The connectivity provider of the Express Connect circuit. Valid values:
* - `CT`: China Telecom.
* - `CU`: China Unicom.
* - `CM`: China Mobile.
* - `CO`: Other connectivity providers in the Chinese mainland.
* - `Equinix`: Equinix.
* - `Other`: Other connectivity providers outside the Chinese mainland.
*
*/
@Import(name="lineOperator", required=true)
private Output lineOperator;
/**
* @return The connectivity provider of the Express Connect circuit. Valid values:
* - `CT`: China Telecom.
* - `CU`: China Unicom.
* - `CM`: China Mobile.
* - `CO`: Other connectivity providers in the Chinese mainland.
* - `Equinix`: Equinix.
* - `Other`: Other connectivity providers outside the Chinese mainland.
*
*/
public Output lineOperator() {
return this.lineOperator;
}
/**
* The geographical location of the data center.
*
*/
@Import(name="peerLocation")
private @Nullable Output peerLocation;
/**
* @return The geographical location of the data center.
*
*/
public Optional> peerLocation() {
return Optional.ofNullable(this.peerLocation);
}
/**
* The subscription duration. Valid values:
* - If `pricing_cycle` is set to `Month`. Valid values: `1` to `9`.
* - If `pricing_cycle` is set to `Year`. Valid values: `1` to `5`.
*
*/
@Import(name="period")
private @Nullable Output period;
/**
* @return The subscription duration. Valid values:
* - If `pricing_cycle` is set to `Month`. Valid values: `1` to `9`.
* - If `pricing_cycle` is set to `Year`. Valid values: `1` to `5`.
*
*/
public Optional> period() {
return Optional.ofNullable(this.period);
}
/**
* The name of the Express Connect circuit.
*
*/
@Import(name="physicalConnectionName")
private @Nullable Output physicalConnectionName;
/**
* @return The name of the Express Connect circuit.
*
*/
public Optional> physicalConnectionName() {
return Optional.ofNullable(this.physicalConnectionName);
}
/**
* The port type of the Express Connect circuit. Valid values:
* - `100Base-T`: 100 Mbit/s copper Ethernet port.
* - `1000Base-T`: 1000 Mbit/s copper Ethernet port.
* - `1000Base-LX`: 1000 Mbit/s single-mode optical port (10 km).
* - `10GBase-T`: 10000 Mbit/s copper Ethernet port.
* - `10GBase-LR`: 10000 Mbit/s single-mode optical port (10 km).
* - `40GBase-LR`: 40000 Mbit/s single-mode optical port.
* - `100GBase-LR`: 100000 Mbit/s single-mode optical port.
* > **NOTE:** From version 1.185.0, `port_type` can be set to `40GBase-LR`, `100GBase-LR`. From version 1.230.1, `port_type` cannot be modified.
*
*/
@Import(name="portType")
private @Nullable Output portType;
/**
* @return The port type of the Express Connect circuit. Valid values:
* - `100Base-T`: 100 Mbit/s copper Ethernet port.
* - `1000Base-T`: 1000 Mbit/s copper Ethernet port.
* - `1000Base-LX`: 1000 Mbit/s single-mode optical port (10 km).
* - `10GBase-T`: 10000 Mbit/s copper Ethernet port.
* - `10GBase-LR`: 10000 Mbit/s single-mode optical port (10 km).
* - `40GBase-LR`: 40000 Mbit/s single-mode optical port.
* - `100GBase-LR`: 100000 Mbit/s single-mode optical port.
* > **NOTE:** From version 1.185.0, `port_type` can be set to `40GBase-LR`, `100GBase-LR`. From version 1.230.1, `port_type` cannot be modified.
*
*/
public Optional> portType() {
return Optional.ofNullable(this.portType);
}
/**
* The billing cycle of the subscription. Default value: `Month`. Valid values: `Month`, `Year`.
* > **NOTE:** `period` and `pricing_cycle` are valid only when `status` is set to `Enabled`.
*
*/
@Import(name="pricingCycle")
private @Nullable Output pricingCycle;
/**
* @return The billing cycle of the subscription. Default value: `Month`. Valid values: `Month`, `Year`.
* > **NOTE:** `period` and `pricing_cycle` are valid only when `status` is set to `Enabled`.
*
*/
public Optional> pricingCycle() {
return Optional.ofNullable(this.pricingCycle);
}
/**
* The ID of the redundant Express Connect circuit. **NOTE:** From version 1.230.1, `redundant_physical_connection_id` cannot be modified.
*
*/
@Import(name="redundantPhysicalConnectionId")
private @Nullable Output redundantPhysicalConnectionId;
/**
* @return The ID of the redundant Express Connect circuit. **NOTE:** From version 1.230.1, `redundant_physical_connection_id` cannot be modified.
*
*/
public Optional> redundantPhysicalConnectionId() {
return Optional.ofNullable(this.redundantPhysicalConnectionId);
}
/**
* The status of the Express Connect circuit. Valid values: `Confirmed`, `Enabled`, `Canceled`, `Terminated`. **NOTE:** From version 1.230.1, `status` can be set to `Confirmed`. If you want to set `status` to `Enabled`, `period` must be set.
*
*/
@Import(name="status")
private @Nullable Output status;
/**
* @return The status of the Express Connect circuit. Valid values: `Confirmed`, `Enabled`, `Canceled`, `Terminated`. **NOTE:** From version 1.230.1, `status` can be set to `Confirmed`. If you want to set `status` to `Enabled`, `period` must be set.
*
*/
public Optional> status() {
return Optional.ofNullable(this.status);
}
/**
* The type of Express Connect circuit. Default value: `VPC`. Valid values: `VPC`.
*
*/
@Import(name="type")
private @Nullable Output type;
/**
* @return The type of Express Connect circuit. Default value: `VPC`. Valid values: `VPC`.
*
*/
public Optional> type() {
return Optional.ofNullable(this.type);
}
private PhysicalConnectionArgs() {}
private PhysicalConnectionArgs(PhysicalConnectionArgs $) {
this.accessPointId = $.accessPointId;
this.bandwidth = $.bandwidth;
this.circuitCode = $.circuitCode;
this.description = $.description;
this.lineOperator = $.lineOperator;
this.peerLocation = $.peerLocation;
this.period = $.period;
this.physicalConnectionName = $.physicalConnectionName;
this.portType = $.portType;
this.pricingCycle = $.pricingCycle;
this.redundantPhysicalConnectionId = $.redundantPhysicalConnectionId;
this.status = $.status;
this.type = $.type;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(PhysicalConnectionArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private PhysicalConnectionArgs $;
public Builder() {
$ = new PhysicalConnectionArgs();
}
public Builder(PhysicalConnectionArgs defaults) {
$ = new PhysicalConnectionArgs(Objects.requireNonNull(defaults));
}
/**
* @param accessPointId The access point ID of the Express Connect circuit.
*
* @return builder
*
*/
public Builder accessPointId(Output accessPointId) {
$.accessPointId = accessPointId;
return this;
}
/**
* @param accessPointId The access point ID of the Express Connect circuit.
*
* @return builder
*
*/
public Builder accessPointId(String accessPointId) {
return accessPointId(Output.of(accessPointId));
}
/**
* @param bandwidth The maximum bandwidth of the hosted connection.
*
* @return builder
*
*/
public Builder bandwidth(@Nullable Output bandwidth) {
$.bandwidth = bandwidth;
return this;
}
/**
* @param bandwidth The maximum bandwidth of the hosted connection.
*
* @return builder
*
*/
public Builder bandwidth(String bandwidth) {
return bandwidth(Output.of(bandwidth));
}
/**
* @param circuitCode The circuit code of the Express Connect circuit.
*
* @return builder
*
*/
public Builder circuitCode(@Nullable Output circuitCode) {
$.circuitCode = circuitCode;
return this;
}
/**
* @param circuitCode The circuit code of the Express Connect circuit.
*
* @return builder
*
*/
public Builder circuitCode(String circuitCode) {
return circuitCode(Output.of(circuitCode));
}
/**
* @param description The description of the Express Connect circuit.
*
* @return builder
*
*/
public Builder description(@Nullable Output description) {
$.description = description;
return this;
}
/**
* @param description The description of the Express Connect circuit.
*
* @return builder
*
*/
public Builder description(String description) {
return description(Output.of(description));
}
/**
* @param lineOperator The connectivity provider of the Express Connect circuit. Valid values:
* - `CT`: China Telecom.
* - `CU`: China Unicom.
* - `CM`: China Mobile.
* - `CO`: Other connectivity providers in the Chinese mainland.
* - `Equinix`: Equinix.
* - `Other`: Other connectivity providers outside the Chinese mainland.
*
* @return builder
*
*/
public Builder lineOperator(Output lineOperator) {
$.lineOperator = lineOperator;
return this;
}
/**
* @param lineOperator The connectivity provider of the Express Connect circuit. Valid values:
* - `CT`: China Telecom.
* - `CU`: China Unicom.
* - `CM`: China Mobile.
* - `CO`: Other connectivity providers in the Chinese mainland.
* - `Equinix`: Equinix.
* - `Other`: Other connectivity providers outside the Chinese mainland.
*
* @return builder
*
*/
public Builder lineOperator(String lineOperator) {
return lineOperator(Output.of(lineOperator));
}
/**
* @param peerLocation The geographical location of the data center.
*
* @return builder
*
*/
public Builder peerLocation(@Nullable Output peerLocation) {
$.peerLocation = peerLocation;
return this;
}
/**
* @param peerLocation The geographical location of the data center.
*
* @return builder
*
*/
public Builder peerLocation(String peerLocation) {
return peerLocation(Output.of(peerLocation));
}
/**
* @param period The subscription duration. Valid values:
* - If `pricing_cycle` is set to `Month`. Valid values: `1` to `9`.
* - If `pricing_cycle` is set to `Year`. Valid values: `1` to `5`.
*
* @return builder
*
*/
public Builder period(@Nullable Output period) {
$.period = period;
return this;
}
/**
* @param period The subscription duration. Valid values:
* - If `pricing_cycle` is set to `Month`. Valid values: `1` to `9`.
* - If `pricing_cycle` is set to `Year`. Valid values: `1` to `5`.
*
* @return builder
*
*/
public Builder period(Integer period) {
return period(Output.of(period));
}
/**
* @param physicalConnectionName The name of the Express Connect circuit.
*
* @return builder
*
*/
public Builder physicalConnectionName(@Nullable Output physicalConnectionName) {
$.physicalConnectionName = physicalConnectionName;
return this;
}
/**
* @param physicalConnectionName The name of the Express Connect circuit.
*
* @return builder
*
*/
public Builder physicalConnectionName(String physicalConnectionName) {
return physicalConnectionName(Output.of(physicalConnectionName));
}
/**
* @param portType The port type of the Express Connect circuit. Valid values:
* - `100Base-T`: 100 Mbit/s copper Ethernet port.
* - `1000Base-T`: 1000 Mbit/s copper Ethernet port.
* - `1000Base-LX`: 1000 Mbit/s single-mode optical port (10 km).
* - `10GBase-T`: 10000 Mbit/s copper Ethernet port.
* - `10GBase-LR`: 10000 Mbit/s single-mode optical port (10 km).
* - `40GBase-LR`: 40000 Mbit/s single-mode optical port.
* - `100GBase-LR`: 100000 Mbit/s single-mode optical port.
* > **NOTE:** From version 1.185.0, `port_type` can be set to `40GBase-LR`, `100GBase-LR`. From version 1.230.1, `port_type` cannot be modified.
*
* @return builder
*
*/
public Builder portType(@Nullable Output portType) {
$.portType = portType;
return this;
}
/**
* @param portType The port type of the Express Connect circuit. Valid values:
* - `100Base-T`: 100 Mbit/s copper Ethernet port.
* - `1000Base-T`: 1000 Mbit/s copper Ethernet port.
* - `1000Base-LX`: 1000 Mbit/s single-mode optical port (10 km).
* - `10GBase-T`: 10000 Mbit/s copper Ethernet port.
* - `10GBase-LR`: 10000 Mbit/s single-mode optical port (10 km).
* - `40GBase-LR`: 40000 Mbit/s single-mode optical port.
* - `100GBase-LR`: 100000 Mbit/s single-mode optical port.
* > **NOTE:** From version 1.185.0, `port_type` can be set to `40GBase-LR`, `100GBase-LR`. From version 1.230.1, `port_type` cannot be modified.
*
* @return builder
*
*/
public Builder portType(String portType) {
return portType(Output.of(portType));
}
/**
* @param pricingCycle The billing cycle of the subscription. Default value: `Month`. Valid values: `Month`, `Year`.
* > **NOTE:** `period` and `pricing_cycle` are valid only when `status` is set to `Enabled`.
*
* @return builder
*
*/
public Builder pricingCycle(@Nullable Output pricingCycle) {
$.pricingCycle = pricingCycle;
return this;
}
/**
* @param pricingCycle The billing cycle of the subscription. Default value: `Month`. Valid values: `Month`, `Year`.
* > **NOTE:** `period` and `pricing_cycle` are valid only when `status` is set to `Enabled`.
*
* @return builder
*
*/
public Builder pricingCycle(String pricingCycle) {
return pricingCycle(Output.of(pricingCycle));
}
/**
* @param redundantPhysicalConnectionId The ID of the redundant Express Connect circuit. **NOTE:** From version 1.230.1, `redundant_physical_connection_id` cannot be modified.
*
* @return builder
*
*/
public Builder redundantPhysicalConnectionId(@Nullable Output redundantPhysicalConnectionId) {
$.redundantPhysicalConnectionId = redundantPhysicalConnectionId;
return this;
}
/**
* @param redundantPhysicalConnectionId The ID of the redundant Express Connect circuit. **NOTE:** From version 1.230.1, `redundant_physical_connection_id` cannot be modified.
*
* @return builder
*
*/
public Builder redundantPhysicalConnectionId(String redundantPhysicalConnectionId) {
return redundantPhysicalConnectionId(Output.of(redundantPhysicalConnectionId));
}
/**
* @param status The status of the Express Connect circuit. Valid values: `Confirmed`, `Enabled`, `Canceled`, `Terminated`. **NOTE:** From version 1.230.1, `status` can be set to `Confirmed`. If you want to set `status` to `Enabled`, `period` must be set.
*
* @return builder
*
*/
public Builder status(@Nullable Output status) {
$.status = status;
return this;
}
/**
* @param status The status of the Express Connect circuit. Valid values: `Confirmed`, `Enabled`, `Canceled`, `Terminated`. **NOTE:** From version 1.230.1, `status` can be set to `Confirmed`. If you want to set `status` to `Enabled`, `period` must be set.
*
* @return builder
*
*/
public Builder status(String status) {
return status(Output.of(status));
}
/**
* @param type The type of Express Connect circuit. Default value: `VPC`. Valid values: `VPC`.
*
* @return builder
*
*/
public Builder type(@Nullable Output type) {
$.type = type;
return this;
}
/**
* @param type The type of Express Connect circuit. Default value: `VPC`. Valid values: `VPC`.
*
* @return builder
*
*/
public Builder type(String type) {
return type(Output.of(type));
}
public PhysicalConnectionArgs build() {
if ($.accessPointId == null) {
throw new MissingRequiredPropertyException("PhysicalConnectionArgs", "accessPointId");
}
if ($.lineOperator == null) {
throw new MissingRequiredPropertyException("PhysicalConnectionArgs", "lineOperator");
}
return $;
}
}
}