Module gcp_interco

Adapter for the Google Cloud Interconnection services

  • License: Inmanta EULA

  • Version: 1.6.0

Typedefs

typedef gcp_interco::attachment_name_type
  • Base type string

  • Type constraint /^[a-z]([-a-z0-9]{0,61}[a-z0-9])?$/

typedef gcp_interco::bandwidth_type
  • Base type string

  • Type constraint (self in ['BPS_50M', 'BPS_100M', 'BPS_200M', 'BPS_300M', 'BPS_400M', 'BPS_500M', 'BPS_1G', 'BPS_2G', 'BPS_5G', 'BPS_10G', 'BPS_20G', 'BPS_50G'])

typedef gcp_interco::gcp_interconnect_attachment_state
  • Base type string

  • Type constraint (self in ['ACTIVE', 'UNPROVISIONED', 'PENDING_PARTNER', 'PARTNER_REQUEST_RECEIVED', 'PENDING_CUSTOMER', 'DEFUNCT', 'PURGED'])

typedef gcp_interco::pairing_key_type
  • Base type string

  • Type constraint gcp_interco::validate_pairing_key(self)

typedef gcp_interco::region_type
  • Base type string

  • Type constraint gcp_interco::validate_region(self)

typedef gcp_interco::time_type
  • Base type int

  • Type constraint std::validate_type('pydantic.conint',self,{'ge': 0})

Entities

entity gcp_interco::GoogleCloudProject

Parents: std::Entity

Basic Google Cloud entity, representing connection to Google Cloud

attribute string project
attribute gcp_interco::region_type region
attribute string credentials_env_variable='GOOGLE_APPLICATION_CREDENTIALS'
relation gcp_interco::InterconnectAttachment interconnect_attachments [0:*]

other end: gcp_interco::InterconnectAttachment.credentials [1]

relation gcp_interco::InterconnectAttachmentState interconnect_attachments_states [0:*]

other end: gcp_interco::InterconnectAttachmentState.credentials [1]

The following implements statements select implementations for this entity:

entity gcp_interco::InterconnectAttachment

Parents: std::PurgeableResource

Basic interconnect attachment entity representing the connection to Google Cloud provider

attribute gcp_interco::attachment_name_type name
attribute gcp_interco::bandwidth_type bandwidth

Bandwidth of the Interconnect Attachment.

attribute std::any_url interconnect

Interconnect URL used for the Attachment.

attribute net::vlan_id vlan_tag

Vlan tag that should be reserved.

attribute gcp_interco::pairing_key_type pairing_key

Pairing key obtained from the customer.

attribute string agent_name

Agent name field.

attribute gcp_interco::time_type poll=5

Poll time between checking if the connections moved from transient states.

attribute gcp_interco::time_type timeout=180

Timeout limit for the change of the transient states.

attribute bool purge_on_delete=false
attribute bool ignore_readonly_update=true

Ignore any attributes that should be updated but that are readonly. If set to true it will log a warning, if set to false a skip resource is generated.

relation gcp_interco::GoogleCloudProject credentials [1]

other end: gcp_interco::GoogleCloudProject.interconnect_attachments [0:*]

relation gcp_interco::PartnerMetadata partner_metadata [1]

The following implementations are defined for this entity:

The following implements statements select implementations for this entity:

entity gcp_interco::InterconnectAttachmentState

Parents: std::PurgeableResource

Monitors the status of the created interconnect attachment

attribute string name_or_id

The name or ID of the interconnect attachment on provider site

attribute string agent_name

Name of the agent

attribute gcp_interco::gcp_interconnect_attachment_state[] desired=List()

List with desired states (states that report SUCCESS by the handler)

attribute gcp_interco::gcp_interconnect_attachment_state[] failed=List()

List with failed states (states that report FAILURE by the handler)

attribute gcp_interco::gcp_interconnect_attachment_state[] skipped=List()

List with skipped states (states that report SKIPPED by the handler)

attribute bool send_event=true
attribute bool purge_on_delete=false
relation gcp_interco::GoogleCloudProject credentials [1]

other end: gcp_interco::GoogleCloudProject.interconnect_attachments_states [0:*]

The following implementations are defined for this entity:

The following implements statements select implementations for this entity:

entity gcp_interco::PartnerMetadata

Parents: std::Entity

Partner provider metadata used for the connection attachment

attribute string partner_name
attribute string interconnect_name
attribute std::any_url portal_url

The following implements statements select implementations for this entity:

Implementations

implementation gcp_interco::autoAgent

Automatically start an agent

implementation gcp_interco::std_interconnect_attachment_state

Plugins

gcp_interco.get_google_cloud_client() 'any'
gcp_interco.get_google_cloud_session() 'any'
gcp_interco.validate_gcp_state_set(desired: 'list', skipped: 'list', failed: 'list', allstates: 'list')

Validates the correctness of defining: desired, skipped and failed states lists.:

  1. They are disjoint

  2. They union into allstates list

Parameters:
  • desired – “desired” state list

  • skipped – “skipped” state list

  • failed – “failed” state list

  • allstates – All possible states

gcp_interco.validate_pairing_key(pairing_key: 'string') 'bool'

Validates the format of pairing key according to PAIRING_KEY_REGEX.

Parameters:

pairing_key – Pairing key

Returns:

True if pairing key is correct, else False

gcp_interco.validate_region(region: 'string') 'bool'

Validates the region.

Parameters:

region – Region for the interconnect

Returns:

True if the region is in the region list, else False

Resources

class gcp_interco.InterconnectAttachment
class gcp_interco.InterconnectAttachmentState

Handlers

class gcp_interco.InterconnectAttachmentHandler
class gcp_interco.InterconnectAttachmentStateHandler