Module ecx_l2¶
Adapter for the equinix l2 services
License: Inmanta EULA
Version: 1.4.2
This module requires compiler version 2019.3 or higher
Typedefs¶
- typedef ecx_l2::connection_name_type¶
Base type
string
Type constraint
/^[0-9a-zA-Z_\\-]{1,24}$/
- typedef ecx_l2::connection_state_type¶
Base type
string
Type constraint
(self in ['PROVISIONING', 'PENDING_BGP_PEERING', 'PROVISIONED', 'DEPROVISIONING', 'DEPROVISIONED'])
- typedef ecx_l2::speed_unit_type¶
Base type
string
Type constraint
(self == 'MB')
Entities¶
- entity ecx_l2::Connection¶
Parents:
std::PurgeableResource
Connection resource for Equinix
Provides facts: For each fact the prefix [primary|secondary] refers to the matching connection - primary_metroCode - primaru_metroDescription - primary_portName - primary_portUUID - primary_sellerMetroCode - primary_sellerOrganizationName - primary_sellerServiceName - primary_sellerServiceUUID - primary_uuid - primary_vlanCTag - primary_vlanSTag - primary_zsideEncapsulation - secondary_metroCode - secondary_metroDescription - secondary_portName - secondary_portUUID - secondary_sellerMetroCode - secondary_sellerOrganizationName - secondary_sellerServiceName - secondary_sellerServiceUUID - secondary_uuid - secondary_vlanCTag - secondary_vlanSTag - secondary_zsideEncapsulation
- attribute std::uuid profile_uuid¶
Unique identifier of the provider’s service profile.
- attribute string authorization_key¶
Connection credentials required to create a layer 2 connection. For example, account ID for AWS, service key for Azure, pairing key for Google, cloud ID for Oracle
- attribute string metro_code¶
Seller metro code
- attribute string purchase_order_number¶
An optional field to link the purchase order numbers to the connection on Equinix which would get reflected on the invoice.
- attribute ecx_l2::speed_unit_type speed_unit¶
Unit of the speed or bandwidth you would like to allocation to the connection.
- attribute number speed¶
Speed/Bandwidth you would like to allocate to the connection.
- attribute std::email_str[] notification_email¶
An array of email ids you would like to notify when there are any updates on your connection.
- attribute string agent_name¶
- attribute bool fail_on_update=false¶
- attribute bool purge_on_delete=false¶
- relation ecx_l2::VLan primary_vlan [1]¶
- relation ecx_l2::VLan secondary_vlan [1]¶
- relation ecx_l2::Credentials credentials [1]¶
The following implementations are defined for this entity:
The following implements statements select implementations for this entity:
ecx_l2::std_connection
constrainttrue
- entity ecx_l2::ConnectionState¶
Parents:
std::PurgeableResource
- attribute std::uuid profile_uuid¶
- attribute string purchase_order_number¶
- attribute string authorization_key¶
- attribute string agent_name¶
- attribute ecx_l2::connection_state_type[] desired=List()¶
- attribute ecx_l2::connection_state_type[] failed=List()¶
- attribute ecx_l2::connection_state_type[] skipped=List()¶
- attribute bool send_event=true¶
- attribute bool purge_on_delete=false¶
- relation ecx_l2::VLan vlan [1]¶
- relation ecx_l2::Credentials credentials [1]¶
The following implementations are defined for this entity:
The following implements statements select implementations for this entity:
ecx_l2::std_ecx_connection_state
constrainttrue
- entity ecx_l2::Credentials¶
Parents:
std::Entity
Credentials identity used for authorization
- attribute string client_id_env_variable¶
Name of the environment variable with client id.
- attribute string client_secret_env_variable¶
Name of the environment variable with client secret.
The following implements statements select implementations for this entity:
std::none
constrainttrue
- entity ecx_l2::VLan¶
Parents:
std::Entity
Entity identifying VLan connection.
- attribute ecx_l2::connection_name_type name¶
Name of the connection.
- attribute std::uuid port_uuid¶
Unique identifier of the buyer port from which the connection would originate.
- attribute net::vlan_id s_tag¶
S-Tag/Outer-Tag of the connection.
- attribute net::vlan_id? c_tag=null¶
C-Tag/Inner-Tag of the connection.
The following implements statements select implementations for this entity:
std::none
constrainttrue
Implementations¶
- implementation ecx_l2::std_connection¶
- implementation ecx_l2::std_ecx_connection_state¶
Plugins¶
- ecx_l2.get_equinix_response_error() 'any' ¶
- ecx_l2.get_process_response() 'any' ¶
- ecx_l2.validate_ecx_connection_state_set(desired: 'list', skipped: 'list', failed: 'list', allstates: 'list')¶
Validates the correctness of defining: desired, skipped and failed states lists.:
They are disjoint
They union into allstates list
- Parameters:
desired – “desired” state list
skipped – “skipped” state list
failed – “failed” state list
allstates – All possible states
Resources¶
- class ecx_l2.Connection¶
Connection resource that represents Equinix layer 2 connection.
Resource for entity
ecx_l2::Connection
Id attribute
name_id
Agent name
agent_name
Handlers
ecx_l2.ConnectionHandler
- class ecx_l2.ConnectionState¶
Connection state for ECX Connection
Resource for entity
ecx_l2::ConnectionState
Id attribute
name_id
Agent name
agent_name
Handlers
ecx_l2.ConnectionStateHandler
Handlers¶
- class ecx_l2.ConnectionHandler¶
Connection resource handler for Equinix.
Handler name
std_ecx_connection_handler
Handler for entity
ecx_l2::Connection
- class ecx_l2.ConnectionStateHandler¶
Handler name
std_ecx_connection_state_handler
Handler for entity
ecx_l2::ConnectionState