pub struct VirtualCircuit {Show 32 fields
pub bandwidth_shape_name: Option<String>,
pub bgp_management: Option<VirtualCircuitBgpManagement>,
pub bgp_session_state: Option<VirtualCircuitBgpSessionState>,
pub bgp_ipv6_session_state: Option<VirtualCircuitBgpIpv6SessionState>,
pub compartment_id: Option<String>,
pub cross_connect_mappings: Option<Vec<CrossConnectMapping>>,
pub routing_policy: Option<Vec<VirtualCircuitRoutingPolicy>>,
pub bgp_admin_state: Option<VirtualCircuitBgpAdminState>,
pub is_bfd_enabled: Option<bool>,
pub is_transport_mode: Option<bool>,
pub customer_bgp_asn: Option<i64>,
pub customer_asn: Option<i64>,
pub defined_tags: Option<HashMap<String, HashMap<String, Value>>>,
pub display_name: Option<String>,
pub freeform_tags: Option<HashMap<String, String>>,
pub gateway_id: Option<String>,
pub id: Option<String>,
pub lifecycle_state: Option<VirtualCircuitLifecycleState>,
pub oracle_bgp_asn: Option<i64>,
pub provider_name: Option<String>,
pub provider_service_id: Option<String>,
pub provider_service_key_name: Option<String>,
pub provider_service_name: Option<String>,
pub provider_state: Option<VirtualCircuitProviderState>,
pub public_prefixes: Option<Vec<String>>,
pub reference_comment: Option<String>,
pub region: Option<String>,
pub service_type: Option<VirtualCircuitServiceType>,
pub time_created: Option<DateTime<Utc>>,
pub type: Option<VirtualCircuitType>,
pub ip_mtu: Option<VirtualCircuitIpMtu>,
pub virtual_circuit_redundancy_metadata: Option<VirtualCircuitRedundancyMetadata>,
}Expand description
For use with Oracle Cloud Infrastructure FastConnect.
A virtual circuit is an isolated network path that runs over one or more physical network connections to provide a single, logical connection between the edge router on the customer’s existing network and Oracle Cloud Infrastructure. Private virtual circuits support private peering, and public virtual circuits support public peering. For more information, see FastConnect Overview.
Each virtual circuit is made up of information shared between a customer, Oracle, and a provider (if the customer is using FastConnect via a provider). Who fills in a given property of a virtual circuit depends on whether the BGP session related to that virtual circuit goes from the customer’s edge router to Oracle, or from the provider’s edge router to Oracle. Also, in the case where the customer is using a provider, values for some of the properties may not be present immediately, but may get filled in as the provider and Oracle each do their part to provision the virtual circuit.
To use any of the API operations, you must be authorized in an IAM policy. If you’re not authorized, talk to an administrator. If you’re an administrator who needs to write policies to give users access, see Getting Started with Policies.
Fields§
§bandwidth_shape_name: Option<String>The provisioned data rate of the connection. To get a list of the available bandwidth levels (that is, shapes), see {@link #listFastConnectProviderVirtualCircuitBandwidthShapes(ListFastConnectProviderVirtualCircuitBandwidthShapesRequest) listFastConnectProviderVirtualCircuitBandwidthShapes}.
Example: {@code 10 Gbps}
bgp_management: Option<VirtualCircuitBgpManagement>Deprecated. Instead use the information in {@link FastConnectProviderService}.
bgp_session_state: Option<VirtualCircuitBgpSessionState>The state of the Ipv4 BGP session associated with the virtual circuit.
bgp_ipv6_session_state: Option<VirtualCircuitBgpIpv6SessionState>The state of the Ipv6 BGP session associated with the virtual circuit.
compartment_id: Option<String>The OCID of the compartment containing the virtual circuit.
cross_connect_mappings: Option<Vec<CrossConnectMapping>>An array of mappings, each containing properties for a cross-connect or cross-connect group that is associated with this virtual circuit.
routing_policy: Option<Vec<VirtualCircuitRoutingPolicy>>The routing policy sets how routing information about the Oracle cloud is shared over a public virtual circuit. Policies available are: {@code ORACLE_SERVICE_NETWORK}, {@code REGIONAL}, {@code MARKET_LEVEL}, and {@code GLOBAL}. See Route Filtering for details. By default, routing information is shared for all routes in the same market.
bgp_admin_state: Option<VirtualCircuitBgpAdminState>Set to {@code ENABLED} (the default) to activate the BGP session of the virtual circuit, set to {@code DISABLED} to deactivate the virtual circuit.
is_bfd_enabled: Option<bool>Set to {@code true} to enable BFD for IPv4 BGP peering, or set to {@code false} to disable BFD. If this is not set, the default is {@code false}.
is_transport_mode: Option<bool>Set to {@code true} for the virtual circuit to carry only encrypted traffic, or set to {@code false} for the virtual circuit to carry unencrypted traffic. If this is not set, the default is {@code false}.
customer_bgp_asn: Option<i64>Deprecated. Instead use {@code customerAsn}. If you specify values for both, the request will be rejected. Note: Numbers greater than Number.MAX_SAFE_INTEGER will result in rounding issues.
customer_asn: Option<i64>The BGP ASN of the network at the other end of the BGP session from Oracle. If the session is between the customer’s edge router and Oracle, the value is the customer’s ASN. If the BGP session is between the provider’s edge router and Oracle, the value is the provider’s ASN. Can be a 2-byte or 4-byte ASN. Uses "asplain" format. Note: Numbers greater than Number.MAX_SAFE_INTEGER will result in rounding issues.
Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags.
Example: {@code {"Operations": {"CostCenter": "42"}}}
display_name: Option<String>A user-friendly name. Does not have to be unique, and it’s changeable. Avoid entering confidential information.
Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags.
Example: {@code {"Department": "Finance"}}
gateway_id: Option<String>The OCID of the customer’s {@link Drg} that this virtual circuit uses. Applicable only to private virtual circuits.
id: Option<String>The virtual circuit’s Oracle ID (OCID).
lifecycle_state: Option<VirtualCircuitLifecycleState>The virtual circuit’s current state. For information about the different states, see FastConnect Overview.
oracle_bgp_asn: Option<i64>The Oracle BGP ASN. Note: Numbers greater than Number.MAX_SAFE_INTEGER will result in rounding issues.
provider_name: Option<String>Deprecated. Instead use {@code providerServiceId}.
provider_service_id: Option<String>The OCID of the service offered by the provider (if the customer is connecting via a provider).
provider_service_key_name: Option<String>The service key name offered by the provider (if the customer is connecting via a provider).
provider_service_name: Option<String>Deprecated. Instead use {@code providerServiceId}.
provider_state: Option<VirtualCircuitProviderState>The provider’s state in relation to this virtual circuit (if the customer is connecting via a provider). ACTIVE means the provider has provisioned the virtual circuit from their end. INACTIVE means the provider has not yet provisioned the virtual circuit, or has de-provisioned it.
public_prefixes: Option<Vec<String>>For a public virtual circuit. The public IP prefixes (CIDRs) the customer wants to advertise across the connection. All prefix sizes are allowed.
reference_comment: Option<String>Provider-supplied reference information about this virtual circuit (if the customer is connecting via a provider).
region: Option<String>The Oracle Cloud Infrastructure region where this virtual circuit is located.
service_type: Option<VirtualCircuitServiceType>Provider service type.
time_created: Option<DateTime<Utc>>The date and time the virtual circuit was created, in the format defined by RFC3339.
Example: {@code 2016-08-25T21:10:29.600Z}
type: Option<VirtualCircuitType>Whether the virtual circuit supports private or public peering. For more information, see FastConnect Overview.
ip_mtu: Option<VirtualCircuitIpMtu>The layer 3 IP MTU to use on this virtual circuit.
virtual_circuit_redundancy_metadata: Option<VirtualCircuitRedundancyMetadata>Implementations§
Source§impl VirtualCircuit
impl VirtualCircuit
Sourcepub fn set_bandwidth_shape_name(self, value: Option<String>) -> Self
pub fn set_bandwidth_shape_name(self, value: Option<String>) -> Self
Set bandwidth_shape_name
Sourcepub fn set_bgp_management(
self,
value: Option<VirtualCircuitBgpManagement>,
) -> Self
pub fn set_bgp_management( self, value: Option<VirtualCircuitBgpManagement>, ) -> Self
Set bgp_management
Sourcepub fn set_bgp_session_state(
self,
value: Option<VirtualCircuitBgpSessionState>,
) -> Self
pub fn set_bgp_session_state( self, value: Option<VirtualCircuitBgpSessionState>, ) -> Self
Set bgp_session_state
Sourcepub fn set_bgp_ipv6_session_state(
self,
value: Option<VirtualCircuitBgpIpv6SessionState>,
) -> Self
pub fn set_bgp_ipv6_session_state( self, value: Option<VirtualCircuitBgpIpv6SessionState>, ) -> Self
Set bgp_ipv6_session_state
Sourcepub fn set_compartment_id(self, value: Option<String>) -> Self
pub fn set_compartment_id(self, value: Option<String>) -> Self
Set compartment_id
Sourcepub fn set_cross_connect_mappings(
self,
value: Option<Vec<CrossConnectMapping>>,
) -> Self
pub fn set_cross_connect_mappings( self, value: Option<Vec<CrossConnectMapping>>, ) -> Self
Set cross_connect_mappings
Sourcepub fn set_routing_policy(
self,
value: Option<Vec<VirtualCircuitRoutingPolicy>>,
) -> Self
pub fn set_routing_policy( self, value: Option<Vec<VirtualCircuitRoutingPolicy>>, ) -> Self
Set routing_policy
Sourcepub fn set_bgp_admin_state(
self,
value: Option<VirtualCircuitBgpAdminState>,
) -> Self
pub fn set_bgp_admin_state( self, value: Option<VirtualCircuitBgpAdminState>, ) -> Self
Set bgp_admin_state
Sourcepub fn set_is_bfd_enabled(self, value: Option<bool>) -> Self
pub fn set_is_bfd_enabled(self, value: Option<bool>) -> Self
Set is_bfd_enabled
Sourcepub fn set_is_transport_mode(self, value: Option<bool>) -> Self
pub fn set_is_transport_mode(self, value: Option<bool>) -> Self
Set is_transport_mode
Sourcepub fn set_customer_bgp_asn(self, value: Option<i64>) -> Self
pub fn set_customer_bgp_asn(self, value: Option<i64>) -> Self
Set customer_bgp_asn
Sourcepub fn set_customer_asn(self, value: Option<i64>) -> Self
pub fn set_customer_asn(self, value: Option<i64>) -> Self
Set customer_asn
Set defined_tags
Sourcepub fn set_display_name(self, value: Option<String>) -> Self
pub fn set_display_name(self, value: Option<String>) -> Self
Set display_name
Set freeform_tags
Sourcepub fn set_gateway_id(self, value: Option<String>) -> Self
pub fn set_gateway_id(self, value: Option<String>) -> Self
Set gateway_id
Sourcepub fn set_lifecycle_state(
self,
value: Option<VirtualCircuitLifecycleState>,
) -> Self
pub fn set_lifecycle_state( self, value: Option<VirtualCircuitLifecycleState>, ) -> Self
Set lifecycle_state
Sourcepub fn set_oracle_bgp_asn(self, value: Option<i64>) -> Self
pub fn set_oracle_bgp_asn(self, value: Option<i64>) -> Self
Set oracle_bgp_asn
Sourcepub fn set_provider_name(self, value: Option<String>) -> Self
pub fn set_provider_name(self, value: Option<String>) -> Self
Set provider_name
Sourcepub fn set_provider_service_id(self, value: Option<String>) -> Self
pub fn set_provider_service_id(self, value: Option<String>) -> Self
Set provider_service_id
Sourcepub fn set_provider_service_key_name(self, value: Option<String>) -> Self
pub fn set_provider_service_key_name(self, value: Option<String>) -> Self
Set provider_service_key_name
Sourcepub fn set_provider_service_name(self, value: Option<String>) -> Self
pub fn set_provider_service_name(self, value: Option<String>) -> Self
Set provider_service_name
Sourcepub fn set_provider_state(
self,
value: Option<VirtualCircuitProviderState>,
) -> Self
pub fn set_provider_state( self, value: Option<VirtualCircuitProviderState>, ) -> Self
Set provider_state
Sourcepub fn set_public_prefixes(self, value: Option<Vec<String>>) -> Self
pub fn set_public_prefixes(self, value: Option<Vec<String>>) -> Self
Set public_prefixes
Sourcepub fn set_reference_comment(self, value: Option<String>) -> Self
pub fn set_reference_comment(self, value: Option<String>) -> Self
Set reference_comment
Sourcepub fn set_region(self, value: Option<String>) -> Self
pub fn set_region(self, value: Option<String>) -> Self
Set region
Sourcepub fn set_service_type(self, value: Option<VirtualCircuitServiceType>) -> Self
pub fn set_service_type(self, value: Option<VirtualCircuitServiceType>) -> Self
Set service_type
Sourcepub fn set_time_created(self, value: Option<DateTime<Utc>>) -> Self
pub fn set_time_created(self, value: Option<DateTime<Utc>>) -> Self
Set time_created
Sourcepub fn set_type(self, value: Option<VirtualCircuitType>) -> Self
pub fn set_type(self, value: Option<VirtualCircuitType>) -> Self
Set r#type
Sourcepub fn set_ip_mtu(self, value: Option<VirtualCircuitIpMtu>) -> Self
pub fn set_ip_mtu(self, value: Option<VirtualCircuitIpMtu>) -> Self
Set ip_mtu
Sourcepub fn set_virtual_circuit_redundancy_metadata(
self,
value: Option<VirtualCircuitRedundancyMetadata>,
) -> Self
pub fn set_virtual_circuit_redundancy_metadata( self, value: Option<VirtualCircuitRedundancyMetadata>, ) -> Self
Set virtual_circuit_redundancy_metadata
Sourcepub fn with_bandwidth_shape_name(self, value: impl Into<String>) -> Self
pub fn with_bandwidth_shape_name(self, value: impl Into<String>) -> Self
Set bandwidth_shape_name (unwraps Option)
Sourcepub fn with_bgp_management(self, value: VirtualCircuitBgpManagement) -> Self
pub fn with_bgp_management(self, value: VirtualCircuitBgpManagement) -> Self
Set bgp_management (unwraps Option)
Sourcepub fn with_bgp_session_state(
self,
value: VirtualCircuitBgpSessionState,
) -> Self
pub fn with_bgp_session_state( self, value: VirtualCircuitBgpSessionState, ) -> Self
Set bgp_session_state (unwraps Option)
Sourcepub fn with_bgp_ipv6_session_state(
self,
value: VirtualCircuitBgpIpv6SessionState,
) -> Self
pub fn with_bgp_ipv6_session_state( self, value: VirtualCircuitBgpIpv6SessionState, ) -> Self
Set bgp_ipv6_session_state (unwraps Option)
Sourcepub fn with_compartment_id(self, value: impl Into<String>) -> Self
pub fn with_compartment_id(self, value: impl Into<String>) -> Self
Set compartment_id (unwraps Option)
Sourcepub fn with_cross_connect_mappings(
self,
value: Vec<CrossConnectMapping>,
) -> Self
pub fn with_cross_connect_mappings( self, value: Vec<CrossConnectMapping>, ) -> Self
Set cross_connect_mappings (unwraps Option)
Sourcepub fn with_routing_policy(
self,
value: Vec<VirtualCircuitRoutingPolicy>,
) -> Self
pub fn with_routing_policy( self, value: Vec<VirtualCircuitRoutingPolicy>, ) -> Self
Set routing_policy (unwraps Option)
Sourcepub fn with_bgp_admin_state(self, value: VirtualCircuitBgpAdminState) -> Self
pub fn with_bgp_admin_state(self, value: VirtualCircuitBgpAdminState) -> Self
Set bgp_admin_state (unwraps Option)
Sourcepub fn with_is_bfd_enabled(self, value: bool) -> Self
pub fn with_is_bfd_enabled(self, value: bool) -> Self
Set is_bfd_enabled (unwraps Option)
Sourcepub fn with_is_transport_mode(self, value: bool) -> Self
pub fn with_is_transport_mode(self, value: bool) -> Self
Set is_transport_mode (unwraps Option)
Sourcepub fn with_customer_bgp_asn(self, value: i64) -> Self
pub fn with_customer_bgp_asn(self, value: i64) -> Self
Set customer_bgp_asn (unwraps Option)
Sourcepub fn with_customer_asn(self, value: i64) -> Self
pub fn with_customer_asn(self, value: i64) -> Self
Set customer_asn (unwraps Option)
Set defined_tags (unwraps Option)
Sourcepub fn with_display_name(self, value: impl Into<String>) -> Self
pub fn with_display_name(self, value: impl Into<String>) -> Self
Set display_name (unwraps Option)
Set freeform_tags (unwraps Option)
Sourcepub fn with_gateway_id(self, value: impl Into<String>) -> Self
pub fn with_gateway_id(self, value: impl Into<String>) -> Self
Set gateway_id (unwraps Option)
Sourcepub fn with_lifecycle_state(self, value: VirtualCircuitLifecycleState) -> Self
pub fn with_lifecycle_state(self, value: VirtualCircuitLifecycleState) -> Self
Set lifecycle_state (unwraps Option)
Sourcepub fn with_oracle_bgp_asn(self, value: i64) -> Self
pub fn with_oracle_bgp_asn(self, value: i64) -> Self
Set oracle_bgp_asn (unwraps Option)
Sourcepub fn with_provider_name(self, value: impl Into<String>) -> Self
pub fn with_provider_name(self, value: impl Into<String>) -> Self
Set provider_name (unwraps Option)
Sourcepub fn with_provider_service_id(self, value: impl Into<String>) -> Self
pub fn with_provider_service_id(self, value: impl Into<String>) -> Self
Set provider_service_id (unwraps Option)
Sourcepub fn with_provider_service_key_name(self, value: impl Into<String>) -> Self
pub fn with_provider_service_key_name(self, value: impl Into<String>) -> Self
Set provider_service_key_name (unwraps Option)
Sourcepub fn with_provider_service_name(self, value: impl Into<String>) -> Self
pub fn with_provider_service_name(self, value: impl Into<String>) -> Self
Set provider_service_name (unwraps Option)
Sourcepub fn with_provider_state(self, value: VirtualCircuitProviderState) -> Self
pub fn with_provider_state(self, value: VirtualCircuitProviderState) -> Self
Set provider_state (unwraps Option)
Sourcepub fn with_public_prefixes(self, value: Vec<String>) -> Self
pub fn with_public_prefixes(self, value: Vec<String>) -> Self
Set public_prefixes (unwraps Option)
Sourcepub fn with_reference_comment(self, value: impl Into<String>) -> Self
pub fn with_reference_comment(self, value: impl Into<String>) -> Self
Set reference_comment (unwraps Option)
Sourcepub fn with_region(self, value: impl Into<String>) -> Self
pub fn with_region(self, value: impl Into<String>) -> Self
Set region (unwraps Option)
Sourcepub fn with_service_type(self, value: VirtualCircuitServiceType) -> Self
pub fn with_service_type(self, value: VirtualCircuitServiceType) -> Self
Set service_type (unwraps Option)
Sourcepub fn with_time_created(self, value: DateTime<Utc>) -> Self
pub fn with_time_created(self, value: DateTime<Utc>) -> Self
Set time_created (unwraps Option)
Sourcepub fn with_type(self, value: VirtualCircuitType) -> Self
pub fn with_type(self, value: VirtualCircuitType) -> Self
Set r#type (unwraps Option)
Sourcepub fn with_ip_mtu(self, value: VirtualCircuitIpMtu) -> Self
pub fn with_ip_mtu(self, value: VirtualCircuitIpMtu) -> Self
Set ip_mtu (unwraps Option)
Sourcepub fn with_virtual_circuit_redundancy_metadata(
self,
value: VirtualCircuitRedundancyMetadata,
) -> Self
pub fn with_virtual_circuit_redundancy_metadata( self, value: VirtualCircuitRedundancyMetadata, ) -> Self
Set virtual_circuit_redundancy_metadata (unwraps Option)
Trait Implementations§
Source§impl Clone for VirtualCircuit
impl Clone for VirtualCircuit
Source§fn clone(&self) -> VirtualCircuit
fn clone(&self) -> VirtualCircuit
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more