com.pulumi.alicloud.expressconnect.PhysicalConnection Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of alicloud Show documentation
Show all versions of alicloud Show documentation
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.alicloud.Utilities;
import com.pulumi.alicloud.expressconnect.PhysicalConnectionArgs;
import com.pulumi.alicloud.expressconnect.inputs.PhysicalConnectionState;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Export;
import com.pulumi.core.annotations.ResourceType;
import com.pulumi.core.internal.Codegen;
import java.lang.String;
import java.util.Optional;
import javax.annotation.Nullable;
/**
* Provides a Express Connect Physical Connection resource.
*
* For information about Express Connect Physical Connection and how to use it, see [What is Physical Connection](https://www.alibabacloud.com/help/doc-detail/44852.htm).
*
* > **NOTE:** Available since v1.132.0.
*
* ## Example Usage
*
* Basic Usage
*
* <!--Start PulumiCodeChooser -->
*
* {@code
* package generated_program;
*
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.alicloud.expressconnect.PhysicalConnection;
* import com.pulumi.alicloud.expressconnect.PhysicalConnectionArgs;
* import java.util.List;
* import java.util.ArrayList;
* import java.util.Map;
* import java.io.File;
* import java.nio.file.Files;
* import java.nio.file.Paths;
*
* public class App {
* public static void main(String[] args) {
* Pulumi.run(App::stack);
* }
*
* public static void stack(Context ctx) {
* var domestic = new PhysicalConnection("domestic", PhysicalConnectionArgs.builder()
* .accessPointId("ap-cn-hangzhou-yh-B")
* .lineOperator("CT")
* .peerLocation("example_value")
* .physicalConnectionName("example_value")
* .type("VPC")
* .description("my domestic connection")
* .portType("1000Base-LX")
* .bandwidth(100)
* .build());
*
* var international = new PhysicalConnection("international", PhysicalConnectionArgs.builder()
* .accessPointId("ap-sg-singpore-A")
* .lineOperator("Other")
* .peerLocation("example_value")
* .physicalConnectionName("example_value")
* .type("VPC")
* .description("my domestic connection")
* .portType("1000Base-LX")
* .bandwidth(100)
* .build());
*
* }
* }
* }
*
* <!--End PulumiCodeChooser -->
*
* ## Import
*
* Express Connect Physical Connection can be imported using the id, e.g.
*
* ```sh
* $ pulumi import alicloud:expressconnect/physicalConnection:PhysicalConnection example <id>
* ```
*
*/
@ResourceType(type="alicloud:expressconnect/physicalConnection:PhysicalConnection")
public class PhysicalConnection extends com.pulumi.resources.CustomResource {
/**
* The Physical Leased Line Access Point ID.
*
*/
@Export(name="accessPointId", refs={String.class}, tree="[0]")
private Output accessPointId;
/**
* @return The Physical Leased Line Access Point ID.
*
*/
public Output accessPointId() {
return this.accessPointId;
}
/**
* On the Bandwidth of the ECC Service and Physical Connection.
*
*/
@Export(name="bandwidth", refs={String.class}, tree="[0]")
private Output bandwidth;
/**
* @return On the Bandwidth of the ECC Service and Physical Connection.
*
*/
public Output bandwidth() {
return this.bandwidth;
}
/**
* Operators for Physical Connection Circuit Provided Coding.
*
*/
@Export(name="circuitCode", refs={String.class}, tree="[0]")
private Output circuitCode;
/**
* @return Operators for Physical Connection Circuit Provided Coding.
*
*/
public Output> circuitCode() {
return Codegen.optional(this.circuitCode);
}
/**
* The Physical Connection to Which the Description.
*
*/
@Export(name="description", refs={String.class}, tree="[0]")
private Output description;
/**
* @return The Physical Connection to Which the Description.
*
*/
public Output> description() {
return Codegen.optional(this.description);
}
/**
* Provides Access to the Physical Line Operator. Valid values:
* * CT: China Telecom
* * CU: China Unicom
* * CM: china Mobile
* * CO: Other Chinese
* * Equinix: Equinix
* * Other: Other Overseas.
*
*/
@Export(name="lineOperator", refs={String.class}, tree="[0]")
private Output lineOperator;
/**
* @return Provides Access to the Physical Line Operator. Valid values:
* * CT: China Telecom
* * CU: China Unicom
* * CM: china Mobile
* * CO: Other Chinese
* * Equinix: Equinix
* * Other: Other Overseas.
*
*/
public Output lineOperator() {
return this.lineOperator;
}
/**
* and an on-Premises Data Center Location.
*
*/
@Export(name="peerLocation", refs={String.class}, tree="[0]")
private Output peerLocation;
/**
* @return and an on-Premises Data Center Location.
*
*/
public Output> peerLocation() {
return Codegen.optional(this.peerLocation);
}
/**
* on Behalf of the Resource Name of the Resources-Attribute Field.
*
*/
@Export(name="physicalConnectionName", refs={String.class}, tree="[0]")
private Output physicalConnectionName;
/**
* @return on Behalf of the Resource Name of the Resources-Attribute Field.
*
*/
public Output> physicalConnectionName() {
return Codegen.optional(this.physicalConnectionName);
}
/**
* The Physical Leased Line Access Port Type. Valid value:
* * 100Base-T: Fast Electrical Ports
* * 1000Base-T: gigabit Electrical Ports
* * 1000Base-LX: Gigabit Singlemode Optical Ports (10Km)
* * 10GBase-T: Gigabit Electrical Port
* * 10GBase-LR: Gigabit Singlemode Optical Ports (10Km).
* * 40GBase-LR: 40 Gigabit Singlemode Optical Ports.
* * 100GBase-LR: One hundred thousand Gigabit Singlemode Optical Ports.
*
* **NOTE:** From in v1.185.0+, The `40GBase-LR` and `100GBase-LR` is valid. and Set these values based on the water levels of background ports. For details about the water levels, contact the business manager.
*
*/
@Export(name="portType", refs={String.class}, tree="[0]")
private Output portType;
/**
* @return The Physical Leased Line Access Port Type. Valid value:
* * 100Base-T: Fast Electrical Ports
* * 1000Base-T: gigabit Electrical Ports
* * 1000Base-LX: Gigabit Singlemode Optical Ports (10Km)
* * 10GBase-T: Gigabit Electrical Port
* * 10GBase-LR: Gigabit Singlemode Optical Ports (10Km).
* * 40GBase-LR: 40 Gigabit Singlemode Optical Ports.
* * 100GBase-LR: One hundred thousand Gigabit Singlemode Optical Ports.
*
* **NOTE:** From in v1.185.0+, The `40GBase-LR` and `100GBase-LR` is valid. and Set these values based on the water levels of background ports. For details about the water levels, contact the business manager.
*
*/
public Output> portType() {
return Codegen.optional(this.portType);
}
/**
* Redundant Physical Connection to Which the ID.
*
*/
@Export(name="redundantPhysicalConnectionId", refs={String.class}, tree="[0]")
private Output redundantPhysicalConnectionId;
/**
* @return Redundant Physical Connection to Which the ID.
*
*/
public Output> redundantPhysicalConnectionId() {
return Codegen.optional(this.redundantPhysicalConnectionId);
}
/**
* Resources on Behalf of a State of the Resource Attribute Field. Valid values: `Canceled`, `Enabled`, `Terminated`.
*
*/
@Export(name="status", refs={String.class}, tree="[0]")
private Output status;
/**
* @return Resources on Behalf of a State of the Resource Attribute Field. Valid values: `Canceled`, `Enabled`, `Terminated`.
*
*/
public Output status() {
return this.status;
}
/**
* Physical Private Line of Type. Default Value: VPC.
*
*/
@Export(name="type", refs={String.class}, tree="[0]")
private Output type;
/**
* @return Physical Private Line of Type. Default Value: VPC.
*
*/
public Output type() {
return this.type;
}
/**
*
* @param name The _unique_ name of the resulting resource.
*/
public PhysicalConnection(java.lang.String name) {
this(name, PhysicalConnectionArgs.Empty);
}
/**
*
* @param name The _unique_ name of the resulting resource.
* @param args The arguments to use to populate this resource's properties.
*/
public PhysicalConnection(java.lang.String name, PhysicalConnectionArgs args) {
this(name, args, null);
}
/**
*
* @param name The _unique_ name of the resulting resource.
* @param args The arguments to use to populate this resource's properties.
* @param options A bag of options that control this resource's behavior.
*/
public PhysicalConnection(java.lang.String name, PhysicalConnectionArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
super("alicloud:expressconnect/physicalConnection:PhysicalConnection", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false);
}
private PhysicalConnection(java.lang.String name, Output id, @Nullable PhysicalConnectionState state, @Nullable com.pulumi.resources.CustomResourceOptions options) {
super("alicloud:expressconnect/physicalConnection:PhysicalConnection", name, state, makeResourceOptions(options, id), false);
}
private static PhysicalConnectionArgs makeArgs(PhysicalConnectionArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
if (options != null && options.getUrn().isPresent()) {
return null;
}
return args == null ? PhysicalConnectionArgs.Empty : args;
}
private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) {
var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder()
.version(Utilities.getVersion())
.build();
return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id);
}
/**
* Get an existing Host resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param state
* @param options Optional settings to control the behavior of the CustomResource.
*/
public static PhysicalConnection get(java.lang.String name, Output id, @Nullable PhysicalConnectionState state, @Nullable com.pulumi.resources.CustomResourceOptions options) {
return new PhysicalConnection(name, id, state, options);
}
}