Skip to main content

VirtualCircuit

Struct VirtualCircuit 

Source
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: Option<HashMap<String, HashMap<String, Value>>>

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.

§freeform_tags: Option<HashMap<String, String>>

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

Source

pub fn new() -> Self

Create a new VirtualCircuit

Source

pub fn set_bandwidth_shape_name(self, value: Option<String>) -> Self

Set bandwidth_shape_name

Source

pub fn set_bgp_management( self, value: Option<VirtualCircuitBgpManagement>, ) -> Self

Set bgp_management

Source

pub fn set_bgp_session_state( self, value: Option<VirtualCircuitBgpSessionState>, ) -> Self

Set bgp_session_state

Source

pub fn set_bgp_ipv6_session_state( self, value: Option<VirtualCircuitBgpIpv6SessionState>, ) -> Self

Set bgp_ipv6_session_state

Source

pub fn set_compartment_id(self, value: Option<String>) -> Self

Set compartment_id

Source

pub fn set_cross_connect_mappings( self, value: Option<Vec<CrossConnectMapping>>, ) -> Self

Set cross_connect_mappings

Source

pub fn set_routing_policy( self, value: Option<Vec<VirtualCircuitRoutingPolicy>>, ) -> Self

Set routing_policy

Source

pub fn set_bgp_admin_state( self, value: Option<VirtualCircuitBgpAdminState>, ) -> Self

Set bgp_admin_state

Source

pub fn set_is_bfd_enabled(self, value: Option<bool>) -> Self

Set is_bfd_enabled

Source

pub fn set_is_transport_mode(self, value: Option<bool>) -> Self

Set is_transport_mode

Source

pub fn set_customer_bgp_asn(self, value: Option<i64>) -> Self

Set customer_bgp_asn

Source

pub fn set_customer_asn(self, value: Option<i64>) -> Self

Set customer_asn

Source

pub fn set_defined_tags( self, value: Option<HashMap<String, HashMap<String, Value>>>, ) -> Self

Set defined_tags

Source

pub fn set_display_name(self, value: Option<String>) -> Self

Set display_name

Source

pub fn set_freeform_tags(self, value: Option<HashMap<String, String>>) -> Self

Set freeform_tags

Source

pub fn set_gateway_id(self, value: Option<String>) -> Self

Set gateway_id

Source

pub fn set_id(self, value: Option<String>) -> Self

Set id

Source

pub fn set_lifecycle_state( self, value: Option<VirtualCircuitLifecycleState>, ) -> Self

Set lifecycle_state

Source

pub fn set_oracle_bgp_asn(self, value: Option<i64>) -> Self

Set oracle_bgp_asn

Source

pub fn set_provider_name(self, value: Option<String>) -> Self

Set provider_name

Source

pub fn set_provider_service_id(self, value: Option<String>) -> Self

Set provider_service_id

Source

pub fn set_provider_service_key_name(self, value: Option<String>) -> Self

Set provider_service_key_name

Source

pub fn set_provider_service_name(self, value: Option<String>) -> Self

Set provider_service_name

Source

pub fn set_provider_state( self, value: Option<VirtualCircuitProviderState>, ) -> Self

Set provider_state

Source

pub fn set_public_prefixes(self, value: Option<Vec<String>>) -> Self

Set public_prefixes

Source

pub fn set_reference_comment(self, value: Option<String>) -> Self

Set reference_comment

Source

pub fn set_region(self, value: Option<String>) -> Self

Set region

Source

pub fn set_service_type(self, value: Option<VirtualCircuitServiceType>) -> Self

Set service_type

Source

pub fn set_time_created(self, value: Option<DateTime<Utc>>) -> Self

Set time_created

Source

pub fn set_type(self, value: Option<VirtualCircuitType>) -> Self

Set r#type

Source

pub fn set_ip_mtu(self, value: Option<VirtualCircuitIpMtu>) -> Self

Set ip_mtu

Source

pub fn set_virtual_circuit_redundancy_metadata( self, value: Option<VirtualCircuitRedundancyMetadata>, ) -> Self

Set virtual_circuit_redundancy_metadata

Source

pub fn with_bandwidth_shape_name(self, value: impl Into<String>) -> Self

Set bandwidth_shape_name (unwraps Option)

Source

pub fn with_bgp_management(self, value: VirtualCircuitBgpManagement) -> Self

Set bgp_management (unwraps Option)

Source

pub fn with_bgp_session_state( self, value: VirtualCircuitBgpSessionState, ) -> Self

Set bgp_session_state (unwraps Option)

Source

pub fn with_bgp_ipv6_session_state( self, value: VirtualCircuitBgpIpv6SessionState, ) -> Self

Set bgp_ipv6_session_state (unwraps Option)

Source

pub fn with_compartment_id(self, value: impl Into<String>) -> Self

Set compartment_id (unwraps Option)

Source

pub fn with_cross_connect_mappings( self, value: Vec<CrossConnectMapping>, ) -> Self

Set cross_connect_mappings (unwraps Option)

Source

pub fn with_routing_policy( self, value: Vec<VirtualCircuitRoutingPolicy>, ) -> Self

Set routing_policy (unwraps Option)

Source

pub fn with_bgp_admin_state(self, value: VirtualCircuitBgpAdminState) -> Self

Set bgp_admin_state (unwraps Option)

Source

pub fn with_is_bfd_enabled(self, value: bool) -> Self

Set is_bfd_enabled (unwraps Option)

Source

pub fn with_is_transport_mode(self, value: bool) -> Self

Set is_transport_mode (unwraps Option)

Source

pub fn with_customer_bgp_asn(self, value: i64) -> Self

Set customer_bgp_asn (unwraps Option)

Source

pub fn with_customer_asn(self, value: i64) -> Self

Set customer_asn (unwraps Option)

Source

pub fn with_defined_tags( self, value: HashMap<String, HashMap<String, Value>>, ) -> Self

Set defined_tags (unwraps Option)

Source

pub fn with_display_name(self, value: impl Into<String>) -> Self

Set display_name (unwraps Option)

Source

pub fn with_freeform_tags(self, value: HashMap<String, String>) -> Self

Set freeform_tags (unwraps Option)

Source

pub fn with_gateway_id(self, value: impl Into<String>) -> Self

Set gateway_id (unwraps Option)

Source

pub fn with_id(self, value: impl Into<String>) -> Self

Set id (unwraps Option)

Source

pub fn with_lifecycle_state(self, value: VirtualCircuitLifecycleState) -> Self

Set lifecycle_state (unwraps Option)

Source

pub fn with_oracle_bgp_asn(self, value: i64) -> Self

Set oracle_bgp_asn (unwraps Option)

Source

pub fn with_provider_name(self, value: impl Into<String>) -> Self

Set provider_name (unwraps Option)

Source

pub fn with_provider_service_id(self, value: impl Into<String>) -> Self

Set provider_service_id (unwraps Option)

Source

pub fn with_provider_service_key_name(self, value: impl Into<String>) -> Self

Set provider_service_key_name (unwraps Option)

Source

pub fn with_provider_service_name(self, value: impl Into<String>) -> Self

Set provider_service_name (unwraps Option)

Source

pub fn with_provider_state(self, value: VirtualCircuitProviderState) -> Self

Set provider_state (unwraps Option)

Source

pub fn with_public_prefixes(self, value: Vec<String>) -> Self

Set public_prefixes (unwraps Option)

Source

pub fn with_reference_comment(self, value: impl Into<String>) -> Self

Set reference_comment (unwraps Option)

Source

pub fn with_region(self, value: impl Into<String>) -> Self

Set region (unwraps Option)

Source

pub fn with_service_type(self, value: VirtualCircuitServiceType) -> Self

Set service_type (unwraps Option)

Source

pub fn with_time_created(self, value: DateTime<Utc>) -> Self

Set time_created (unwraps Option)

Source

pub fn with_type(self, value: VirtualCircuitType) -> Self

Set r#type (unwraps Option)

Source

pub fn with_ip_mtu(self, value: VirtualCircuitIpMtu) -> Self

Set ip_mtu (unwraps Option)

Source

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

Source§

fn clone(&self) -> VirtualCircuit

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for VirtualCircuit

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for VirtualCircuit

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for VirtualCircuit

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for VirtualCircuit

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<'a, T, E> AsTaggedExplicit<'a, E> for T
where T: 'a,

Source§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

Source§

impl<'a, T, E> AsTaggedImplicit<'a, E> for T
where T: 'a,

Source§

fn implicit( self, class: Class, constructed: bool, tag: u32, ) -> TaggedParser<'a, Implicit, Self, E>

Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,