diff --git a/Makefile b/Makefile index 6f579c0..20d31f2 100644 --- a/Makefile +++ b/Makefile @@ -45,7 +45,7 @@ NPROCS ?= 1 # to half the number of CPU cores. GO_TEST_PARALLEL := $(shell echo $$(( $(NPROCS) / 2 ))) -GO_STATIC_PACKAGES = $(GO_PROJECT)/cmd/provider +GO_STATIC_PACKAGES = $(GO_PROJECT)/cmd/provider $(GO_PROJECT)/cmd/generator GO_LDFLAGS += -X $(GO_PROJECT)/internal/version.Version=$(VERSION) GO_SUBDIRS += cmd internal apis GO111MODULE = on @@ -101,7 +101,7 @@ TERRAFORM_PROVIDER_SCHEMA := config/schema.json $(TERRAFORM): @$(INFO) installing terraform $(HOSTOS)-$(HOSTARCH) @mkdir -p $(TOOLS_HOST_DIR)/tmp-terraform - @curl -fsSL https://releases.hashicorp.com/terraform/$(TERRAFORM_VERSION)/terraform_$(TERRAFORM_VERSION)_$(SAFEHOST_PLATFORM).zip -o $(TOOLS_HOST_DIR)/tmp-terraform/terraform.zip + @curl -fsSL https://github.com/upbound/terraform/releases/download/v$(TERRAFORM_VERSION)/terraform_$(TERRAFORM_VERSION)_$(SAFEHOST_PLATFORM).zip -o $(TOOLS_HOST_DIR)/tmp-terraform/terraform.zip @unzip $(TOOLS_HOST_DIR)/tmp-terraform/terraform.zip -d $(TOOLS_HOST_DIR)/tmp-terraform @mv $(TOOLS_HOST_DIR)/tmp-terraform/terraform $(TERRAFORM) @rm -fr $(TOOLS_HOST_DIR)/tmp-terraform diff --git a/Tiltfile b/Tiltfile new file mode 100644 index 0000000..5749dc3 --- /dev/null +++ b/Tiltfile @@ -0,0 +1,22 @@ +allow_k8s_contexts(k8s_context()) + +templated_yaml = local("find package/crds -name '*.yaml' | xargs cat") + +k8s_yaml(templated_yaml) + +local_resource( + "crossplane-provider-equinix", + serve_cmd="make run", + deps=[ + "apis/", + "go.mod", + "go.sum", + "cmd/", + "config/", + "internal" + ], + ignore=[ + "build/", + "_output/", + ], +) diff --git a/apis/fabric/v1alpha1/zz_cloudrouter_types.go b/apis/fabric/v1alpha1/zz_cloudrouter_types.go index ca159a4..8324975 100755 --- a/apis/fabric/v1alpha1/zz_cloudrouter_types.go +++ b/apis/fabric/v1alpha1/zz_cloudrouter_types.go @@ -96,7 +96,7 @@ type CloudRouterInitParameters struct { // (Block Set, Min: 1, Max: 1) Customer account information that is associated with this Fabric Cloud Router (see below for nested schema) // Customer account information that is associated with this Fabric Cloud Router - Account []AccountInitParameters `json:"account,omitempty" tf:"account,omitempty"` + Account *AccountInitParameters `json:"account,omitempty" tf:"account,omitempty"` // provided Fabric Cloud Router description // Customer-provided Fabric Cloud Router description @@ -108,7 +108,7 @@ type CloudRouterInitParameters struct { // (Block Set, Min: 1, Max: 1) Fabric Cloud Router location (see below for nested schema) // Fabric Cloud Router location - Location []LocationInitParameters `json:"location,omitempty" tf:"location,omitempty"` + Location *LocationInitParameters `json:"location,omitempty" tf:"location,omitempty"` // numeric 24 characters string which can include only hyphens and underscores // Fabric Cloud Router name. An alpha-numeric 24 characters string which can include only hyphens and underscores @@ -120,15 +120,15 @@ type CloudRouterInitParameters struct { // (Block Set, Min: 1, Max: 1) Order information related to this Fabric Cloud Router (see below for nested schema) // Order information related to this Fabric Cloud Router - Order []OrderInitParameters `json:"order,omitempty" tf:"order,omitempty"` + Order *OrderInitParameters `json:"order,omitempty" tf:"order,omitempty"` // (Block Set, Min: 1, Max: 1) Fabric Cloud Router Package Type (see below for nested schema) // Fabric Cloud Router Package Type - Package []PackageInitParameters `json:"package,omitempty" tf:"package,omitempty"` + Package *PackageInitParameters `json:"package,omitempty" tf:"package,omitempty"` // (Block Set, Min: 1, Max: 1) Customer resource hierarchy project information. Applicable to customers onboarded to Equinix Identity and Access Management. For more information see Identity and Access Management: Projects (see below for nested schema) // Customer resource hierarchy project information. Applicable to customers onboarded to Equinix Identity and Access Management. For more information see Identity and Access Management: Projects - Project []ProjectInitParameters `json:"project,omitempty" tf:"project,omitempty"` + Project *ProjectInitParameters `json:"project,omitempty" tf:"project,omitempty"` // (String) Defines the FCR type like; XF_ROUTER // Defines the FCR type like; XF_ROUTER @@ -143,7 +143,7 @@ type CloudRouterObservation struct { // (Block Set, Min: 1, Max: 1) Customer account information that is associated with this Fabric Cloud Router (see below for nested schema) // Customer account information that is associated with this Fabric Cloud Router - Account []AccountObservation `json:"account,omitempty" tf:"account,omitempty"` + Account *AccountObservation `json:"account,omitempty" tf:"account,omitempty"` // distinct prefixes) // Number of IPv4 BGP routes in use (including non-distinct prefixes) @@ -186,7 +186,7 @@ type CloudRouterObservation struct { // (Block Set, Min: 1, Max: 1) Fabric Cloud Router location (see below for nested schema) // Fabric Cloud Router location - Location []LocationObservation `json:"location,omitempty" tf:"location,omitempty"` + Location *LocationObservation `json:"location,omitempty" tf:"location,omitempty"` // numeric 24 characters string which can include only hyphens and underscores // Fabric Cloud Router name. An alpha-numeric 24 characters string which can include only hyphens and underscores @@ -198,15 +198,15 @@ type CloudRouterObservation struct { // (Block Set, Min: 1, Max: 1) Order information related to this Fabric Cloud Router (see below for nested schema) // Order information related to this Fabric Cloud Router - Order []OrderObservation `json:"order,omitempty" tf:"order,omitempty"` + Order *OrderObservation `json:"order,omitempty" tf:"order,omitempty"` // (Block Set, Min: 1, Max: 1) Fabric Cloud Router Package Type (see below for nested schema) // Fabric Cloud Router Package Type - Package []PackageObservation `json:"package,omitempty" tf:"package,omitempty"` + Package *PackageObservation `json:"package,omitempty" tf:"package,omitempty"` // (Block Set, Min: 1, Max: 1) Customer resource hierarchy project information. Applicable to customers onboarded to Equinix Identity and Access Management. For more information see Identity and Access Management: Projects (see below for nested schema) // Customer resource hierarchy project information. Applicable to customers onboarded to Equinix Identity and Access Management. For more information see Identity and Access Management: Projects - Project []ProjectObservation `json:"project,omitempty" tf:"project,omitempty"` + Project *ProjectObservation `json:"project,omitempty" tf:"project,omitempty"` // (String) Fabric Cloud Router overall state // Fabric Cloud Router overall state @@ -226,7 +226,7 @@ type CloudRouterParameters struct { // (Block Set, Min: 1, Max: 1) Customer account information that is associated with this Fabric Cloud Router (see below for nested schema) // Customer account information that is associated with this Fabric Cloud Router // +kubebuilder:validation:Optional - Account []AccountParameters `json:"account,omitempty" tf:"account,omitempty"` + Account *AccountParameters `json:"account,omitempty" tf:"account,omitempty"` // provided Fabric Cloud Router description // Customer-provided Fabric Cloud Router description @@ -241,7 +241,7 @@ type CloudRouterParameters struct { // (Block Set, Min: 1, Max: 1) Fabric Cloud Router location (see below for nested schema) // Fabric Cloud Router location // +kubebuilder:validation:Optional - Location []LocationParameters `json:"location,omitempty" tf:"location,omitempty"` + Location *LocationParameters `json:"location,omitempty" tf:"location,omitempty"` // numeric 24 characters string which can include only hyphens and underscores // Fabric Cloud Router name. An alpha-numeric 24 characters string which can include only hyphens and underscores @@ -256,17 +256,17 @@ type CloudRouterParameters struct { // (Block Set, Min: 1, Max: 1) Order information related to this Fabric Cloud Router (see below for nested schema) // Order information related to this Fabric Cloud Router // +kubebuilder:validation:Optional - Order []OrderParameters `json:"order,omitempty" tf:"order,omitempty"` + Order *OrderParameters `json:"order,omitempty" tf:"order,omitempty"` // (Block Set, Min: 1, Max: 1) Fabric Cloud Router Package Type (see below for nested schema) // Fabric Cloud Router Package Type // +kubebuilder:validation:Optional - Package []PackageParameters `json:"package,omitempty" tf:"package,omitempty"` + Package *PackageParameters `json:"package,omitempty" tf:"package,omitempty"` // (Block Set, Min: 1, Max: 1) Customer resource hierarchy project information. Applicable to customers onboarded to Equinix Identity and Access Management. For more information see Identity and Access Management: Projects (see below for nested schema) // Customer resource hierarchy project information. Applicable to customers onboarded to Equinix Identity and Access Management. For more information see Identity and Access Management: Projects // +kubebuilder:validation:Optional - Project []ProjectParameters `json:"project,omitempty" tf:"project,omitempty"` + Project *ProjectParameters `json:"project,omitempty" tf:"project,omitempty"` // (String) Defines the FCR type like; XF_ROUTER // Defines the FCR type like; XF_ROUTER diff --git a/apis/fabric/v1alpha1/zz_connection_types.go b/apis/fabric/v1alpha1/zz_connection_types.go index fa48fc3..c22ab56 100755 --- a/apis/fabric/v1alpha1/zz_connection_types.go +++ b/apis/fabric/v1alpha1/zz_connection_types.go @@ -29,7 +29,7 @@ type ASideInitParameters struct { // (Block Set, Max: 1) Point of access details (see below for nested schema) // Point of access details - AccessPoint []AccessPointInitParameters `json:"accessPoint,omitempty" tf:"access_point,omitempty"` + AccessPoint *AccessPointInitParameters `json:"accessPoint,omitempty" tf:"access_point,omitempty"` // (List of Map of String) Connection additional information // Connection side additional information @@ -37,14 +37,14 @@ type ASideInitParameters struct { // (Block Set, Max: 1) For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets (see below for nested schema) // For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets - ServiceToken []ServiceTokenInitParameters `json:"serviceToken,omitempty" tf:"service_token,omitempty"` + ServiceToken *ServiceTokenInitParameters `json:"serviceToken,omitempty" tf:"service_token,omitempty"` } type ASideObservation struct { // (Block Set, Max: 1) Point of access details (see below for nested schema) // Point of access details - AccessPoint []AccessPointObservation `json:"accessPoint,omitempty" tf:"access_point,omitempty"` + AccessPoint *AccessPointObservation `json:"accessPoint,omitempty" tf:"access_point,omitempty"` // (List of Map of String) Connection additional information // Connection side additional information @@ -52,7 +52,7 @@ type ASideObservation struct { // (Block Set, Max: 1) For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets (see below for nested schema) // For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets - ServiceToken []ServiceTokenObservation `json:"serviceToken,omitempty" tf:"service_token,omitempty"` + ServiceToken *ServiceTokenObservation `json:"serviceToken,omitempty" tf:"service_token,omitempty"` } type ASideParameters struct { @@ -60,7 +60,7 @@ type ASideParameters struct { // (Block Set, Max: 1) Point of access details (see below for nested schema) // Point of access details // +kubebuilder:validation:Optional - AccessPoint []AccessPointParameters `json:"accessPoint,omitempty" tf:"access_point,omitempty"` + AccessPoint *AccessPointParameters `json:"accessPoint,omitempty" tf:"access_point,omitempty"` // (List of Map of String) Connection additional information // Connection side additional information @@ -70,7 +70,7 @@ type ASideParameters struct { // (Block Set, Max: 1) For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets (see below for nested schema) // For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets // +kubebuilder:validation:Optional - ServiceToken []ServiceTokenParameters `json:"serviceToken,omitempty" tf:"service_token,omitempty"` + ServiceToken *ServiceTokenParameters `json:"serviceToken,omitempty" tf:"service_token,omitempty"` } type AccessPointAccountInitParameters struct { @@ -152,23 +152,23 @@ type AccessPointInitParameters struct { // (Block Set, Max: 1, Deprecated) Deprecated gateway Use router attribute instead (see below for nested schema) // **Deprecated** `gateway` Use `router` attribute instead - Gateway []GatewayInitParameters `json:"gateway,omitempty" tf:"gateway,omitempty"` + Gateway *GatewayInitParameters `json:"gateway,omitempty" tf:"gateway,omitempty"` // (Block Set, Max: 1) Virtual device interface (see below for nested schema) // Virtual device interface - Interface []InterfaceInitParameters `json:"interface,omitempty" tf:"interface,omitempty"` + Interface *InterfaceInitParameters `json:"interface,omitempty" tf:"interface,omitempty"` // (Block Set, Max: 1) Connection link protocol (see below for nested schema) // Connection link protocol - LinkProtocol []LinkProtocolInitParameters `json:"linkProtocol,omitempty" tf:"link_protocol,omitempty"` + LinkProtocol *LinkProtocolInitParameters `json:"linkProtocol,omitempty" tf:"link_protocol,omitempty"` // (Block Set, Max: 1) Access point location (see below for nested schema) // Access point location - Location []AccessPointLocationInitParameters `json:"location,omitempty" tf:"location,omitempty"` + Location *AccessPointLocationInitParameters `json:"location,omitempty" tf:"location,omitempty"` // (Block Set, Max: 1) network access point information (see below for nested schema) // network access point information - Network []NetworkInitParameters `json:"network,omitempty" tf:"network,omitempty"` + Network *NetworkInitParameters `json:"network,omitempty" tf:"network,omitempty"` // PRIVATE,MICROSOFT,PUBLIC, MANUAL // Peering Type- PRIVATE,MICROSOFT,PUBLIC, MANUAL @@ -176,15 +176,15 @@ type AccessPointInitParameters struct { // (Block Set, Max: 1) Port access point information (see below for nested schema) // Port access point information - Port []PortInitParameters `json:"port,omitempty" tf:"port,omitempty"` + Port *PortInitParameters `json:"port,omitempty" tf:"port,omitempty"` // (Block Set, Max: 1) Service Profile (see below for nested schema) // Service Profile - Profile []ProfileInitParameters `json:"profile,omitempty" tf:"profile,omitempty"` + Profile *ProfileInitParameters `json:"profile,omitempty" tf:"profile,omitempty"` // (Block Set, Max: 1) Cloud Router access point information that replaces gateway (see below for nested schema) // Cloud Router access point information that replaces `gateway` - Router []RouterInitParameters `json:"router,omitempty" tf:"router,omitempty"` + Router *RouterInitParameters `json:"router,omitempty" tf:"router,omitempty"` // (String) Access point seller region // Access point seller region @@ -196,7 +196,7 @@ type AccessPointInitParameters struct { // (Block Set, Max: 1) Virtual device (see below for nested schema) // Virtual device - VirtualDevice []VirtualDeviceInitParameters `json:"virtualDevice,omitempty" tf:"virtual_device,omitempty"` + VirtualDevice *VirtualDeviceInitParameters `json:"virtualDevice,omitempty" tf:"virtual_device,omitempty"` } type AccessPointInterfaceInitParameters struct { @@ -407,23 +407,23 @@ type AccessPointObservation struct { // (Block Set, Max: 1, Deprecated) Deprecated gateway Use router attribute instead (see below for nested schema) // **Deprecated** `gateway` Use `router` attribute instead - Gateway []GatewayObservation `json:"gateway,omitempty" tf:"gateway,omitempty"` + Gateway *GatewayObservation `json:"gateway,omitempty" tf:"gateway,omitempty"` // (Block Set, Max: 1) Virtual device interface (see below for nested schema) // Virtual device interface - Interface []InterfaceObservation `json:"interface,omitempty" tf:"interface,omitempty"` + Interface *InterfaceObservation `json:"interface,omitempty" tf:"interface,omitempty"` // (Block Set, Max: 1) Connection link protocol (see below for nested schema) // Connection link protocol - LinkProtocol []LinkProtocolObservation `json:"linkProtocol,omitempty" tf:"link_protocol,omitempty"` + LinkProtocol *LinkProtocolObservation `json:"linkProtocol,omitempty" tf:"link_protocol,omitempty"` // (Block Set, Max: 1) Access point location (see below for nested schema) // Access point location - Location []AccessPointLocationObservation `json:"location,omitempty" tf:"location,omitempty"` + Location *AccessPointLocationObservation `json:"location,omitempty" tf:"location,omitempty"` // (Block Set, Max: 1) network access point information (see below for nested schema) // network access point information - Network []NetworkObservation `json:"network,omitempty" tf:"network,omitempty"` + Network *NetworkObservation `json:"network,omitempty" tf:"network,omitempty"` // PRIVATE,MICROSOFT,PUBLIC, MANUAL // Peering Type- PRIVATE,MICROSOFT,PUBLIC, MANUAL @@ -431,11 +431,11 @@ type AccessPointObservation struct { // (Block Set, Max: 1) Port access point information (see below for nested schema) // Port access point information - Port []PortObservation `json:"port,omitempty" tf:"port,omitempty"` + Port *PortObservation `json:"port,omitempty" tf:"port,omitempty"` // (Block Set, Max: 1) Service Profile (see below for nested schema) // Service Profile - Profile []ProfileObservation `json:"profile,omitempty" tf:"profile,omitempty"` + Profile *ProfileObservation `json:"profile,omitempty" tf:"profile,omitempty"` // (String) Provider assigned Connection Id // Provider assigned Connection Id @@ -443,7 +443,7 @@ type AccessPointObservation struct { // (Block Set, Max: 1) Cloud Router access point information that replaces gateway (see below for nested schema) // Cloud Router access point information that replaces `gateway` - Router []RouterObservation `json:"router,omitempty" tf:"router,omitempty"` + Router *RouterObservation `json:"router,omitempty" tf:"router,omitempty"` // (String) Access point seller region // Access point seller region @@ -455,7 +455,7 @@ type AccessPointObservation struct { // (Block Set, Max: 1) Virtual device (see below for nested schema) // Virtual device - VirtualDevice []VirtualDeviceObservation `json:"virtualDevice,omitempty" tf:"virtual_device,omitempty"` + VirtualDevice *VirtualDeviceObservation `json:"virtualDevice,omitempty" tf:"virtual_device,omitempty"` } type AccessPointParameters struct { @@ -473,27 +473,27 @@ type AccessPointParameters struct { // (Block Set, Max: 1, Deprecated) Deprecated gateway Use router attribute instead (see below for nested schema) // **Deprecated** `gateway` Use `router` attribute instead // +kubebuilder:validation:Optional - Gateway []GatewayParameters `json:"gateway,omitempty" tf:"gateway,omitempty"` + Gateway *GatewayParameters `json:"gateway,omitempty" tf:"gateway,omitempty"` // (Block Set, Max: 1) Virtual device interface (see below for nested schema) // Virtual device interface // +kubebuilder:validation:Optional - Interface []InterfaceParameters `json:"interface,omitempty" tf:"interface,omitempty"` + Interface *InterfaceParameters `json:"interface,omitempty" tf:"interface,omitempty"` // (Block Set, Max: 1) Connection link protocol (see below for nested schema) // Connection link protocol // +kubebuilder:validation:Optional - LinkProtocol []LinkProtocolParameters `json:"linkProtocol,omitempty" tf:"link_protocol,omitempty"` + LinkProtocol *LinkProtocolParameters `json:"linkProtocol,omitempty" tf:"link_protocol,omitempty"` // (Block Set, Max: 1) Access point location (see below for nested schema) // Access point location // +kubebuilder:validation:Optional - Location []AccessPointLocationParameters `json:"location,omitempty" tf:"location,omitempty"` + Location *AccessPointLocationParameters `json:"location,omitempty" tf:"location,omitempty"` // (Block Set, Max: 1) network access point information (see below for nested schema) // network access point information // +kubebuilder:validation:Optional - Network []NetworkParameters `json:"network,omitempty" tf:"network,omitempty"` + Network *NetworkParameters `json:"network,omitempty" tf:"network,omitempty"` // PRIVATE,MICROSOFT,PUBLIC, MANUAL // Peering Type- PRIVATE,MICROSOFT,PUBLIC, MANUAL @@ -503,17 +503,17 @@ type AccessPointParameters struct { // (Block Set, Max: 1) Port access point information (see below for nested schema) // Port access point information // +kubebuilder:validation:Optional - Port []PortParameters `json:"port,omitempty" tf:"port,omitempty"` + Port *PortParameters `json:"port,omitempty" tf:"port,omitempty"` // (Block Set, Max: 1) Service Profile (see below for nested schema) // Service Profile // +kubebuilder:validation:Optional - Profile []ProfileParameters `json:"profile,omitempty" tf:"profile,omitempty"` + Profile *ProfileParameters `json:"profile,omitempty" tf:"profile,omitempty"` // (Block Set, Max: 1) Cloud Router access point information that replaces gateway (see below for nested schema) // Cloud Router access point information that replaces `gateway` // +kubebuilder:validation:Optional - Router []RouterParameters `json:"router,omitempty" tf:"router,omitempty"` + Router *RouterParameters `json:"router,omitempty" tf:"router,omitempty"` // (String) Access point seller region // Access point seller region @@ -528,7 +528,7 @@ type AccessPointParameters struct { // (Block Set, Max: 1) Virtual device (see below for nested schema) // Virtual device // +kubebuilder:validation:Optional - VirtualDevice []VirtualDeviceParameters `json:"virtualDevice,omitempty" tf:"virtual_device,omitempty"` + VirtualDevice *VirtualDeviceParameters `json:"virtualDevice,omitempty" tf:"virtual_device,omitempty"` } type AccessPointPortInitParameters struct { @@ -826,7 +826,7 @@ type ConnectionInitParameters struct { // segment connection (see below for nested schema) // Requester or Customer side connection configuration object of the multi-segment connection - ASide []ASideInitParameters `json:"aSide,omitempty" tf:"a_side,omitempty"` + ASide *ASideInitParameters `json:"aSide,omitempty" tf:"a_side,omitempty"` // (List of Map of String) Connection additional information // Connection additional information @@ -850,15 +850,15 @@ type ConnectionInitParameters struct { // (Block Set, Min: 1, Max: 1) Order details (see below for nested schema) // Order details - Order []ConnectionOrderInitParameters `json:"order,omitempty" tf:"order,omitempty"` + Order *ConnectionOrderInitParameters `json:"order,omitempty" tf:"order,omitempty"` // (Block Set, Max: 1) Project information (see below for nested schema) // Project information - Project []ConnectionProjectInitParameters `json:"project,omitempty" tf:"project,omitempty"` + Project *ConnectionProjectInitParameters `json:"project,omitempty" tf:"project,omitempty"` // (Block Set, Max: 1) Connection Redundancy Configuration (see below for nested schema) // Connection Redundancy Configuration - Redundancy []ConnectionRedundancyInitParameters `json:"redundancy,omitempty" tf:"redundancy,omitempty"` + Redundancy *ConnectionRedundancyInitParameters `json:"redundancy,omitempty" tf:"redundancy,omitempty"` // (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC // Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, IA_VC, EC_VC @@ -866,7 +866,7 @@ type ConnectionInitParameters struct { // segment connection (see below for nested schema) // Destination or Provider side connection configuration object of the multi-segment connection - ZSide []ZSideInitParameters `json:"zSide,omitempty" tf:"z_side,omitempty"` + ZSide *ZSideInitParameters `json:"zSide,omitempty" tf:"z_side,omitempty"` } type ConnectionNotificationsInitParameters struct { @@ -921,7 +921,7 @@ type ConnectionObservation struct { // segment connection (see below for nested schema) // Requester or Customer side connection configuration object of the multi-segment connection - ASide []ASideObservation `json:"aSide,omitempty" tf:"a_side,omitempty"` + ASide *ASideObservation `json:"aSide,omitempty" tf:"a_side,omitempty"` // (Set of Object) Customer account information that is associated with this connection (see below for nested schema) // Customer account information that is associated with this connection @@ -972,15 +972,15 @@ type ConnectionObservation struct { // (Block Set, Min: 1, Max: 1) Order details (see below for nested schema) // Order details - Order []ConnectionOrderObservation `json:"order,omitempty" tf:"order,omitempty"` + Order *ConnectionOrderObservation `json:"order,omitempty" tf:"order,omitempty"` // (Block Set, Max: 1) Project information (see below for nested schema) // Project information - Project []ConnectionProjectObservation `json:"project,omitempty" tf:"project,omitempty"` + Project *ConnectionProjectObservation `json:"project,omitempty" tf:"project,omitempty"` // (Block Set, Max: 1) Connection Redundancy Configuration (see below for nested schema) // Connection Redundancy Configuration - Redundancy []ConnectionRedundancyObservation `json:"redundancy,omitempty" tf:"redundancy,omitempty"` + Redundancy *ConnectionRedundancyObservation `json:"redundancy,omitempty" tf:"redundancy,omitempty"` // (String) Connection overall state // Connection overall state @@ -996,7 +996,7 @@ type ConnectionObservation struct { // segment connection (see below for nested schema) // Destination or Provider side connection configuration object of the multi-segment connection - ZSide []ZSideObservation `json:"zSide,omitempty" tf:"z_side,omitempty"` + ZSide *ZSideObservation `json:"zSide,omitempty" tf:"z_side,omitempty"` } type ConnectionOrderInitParameters struct { @@ -1065,7 +1065,7 @@ type ConnectionParameters struct { // segment connection (see below for nested schema) // Requester or Customer side connection configuration object of the multi-segment connection // +kubebuilder:validation:Optional - ASide []ASideParameters `json:"aSide,omitempty" tf:"a_side,omitempty"` + ASide *ASideParameters `json:"aSide,omitempty" tf:"a_side,omitempty"` // (List of Map of String) Connection additional information // Connection additional information @@ -1095,17 +1095,17 @@ type ConnectionParameters struct { // (Block Set, Min: 1, Max: 1) Order details (see below for nested schema) // Order details // +kubebuilder:validation:Optional - Order []ConnectionOrderParameters `json:"order,omitempty" tf:"order,omitempty"` + Order *ConnectionOrderParameters `json:"order,omitempty" tf:"order,omitempty"` // (Block Set, Max: 1) Project information (see below for nested schema) // Project information // +kubebuilder:validation:Optional - Project []ConnectionProjectParameters `json:"project,omitempty" tf:"project,omitempty"` + Project *ConnectionProjectParameters `json:"project,omitempty" tf:"project,omitempty"` // (Block Set, Max: 1) Connection Redundancy Configuration (see below for nested schema) // Connection Redundancy Configuration // +kubebuilder:validation:Optional - Redundancy []ConnectionRedundancyParameters `json:"redundancy,omitempty" tf:"redundancy,omitempty"` + Redundancy *ConnectionRedundancyParameters `json:"redundancy,omitempty" tf:"redundancy,omitempty"` // (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC // Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, IA_VC, EC_VC @@ -1115,7 +1115,7 @@ type ConnectionParameters struct { // segment connection (see below for nested schema) // Destination or Provider side connection configuration object of the multi-segment connection // +kubebuilder:validation:Optional - ZSide []ZSideParameters `json:"zSide,omitempty" tf:"z_side,omitempty"` + ZSide *ZSideParameters `json:"zSide,omitempty" tf:"z_side,omitempty"` } type ConnectionProjectInitParameters struct { @@ -1710,23 +1710,23 @@ type ZSideAccessPointInitParameters struct { // (Block Set, Max: 1, Deprecated) Deprecated gateway Use router attribute instead (see below for nested schema) // **Deprecated** `gateway` Use `router` attribute instead - Gateway []AccessPointGatewayInitParameters `json:"gateway,omitempty" tf:"gateway,omitempty"` + Gateway *AccessPointGatewayInitParameters `json:"gateway,omitempty" tf:"gateway,omitempty"` // (Block Set, Max: 1) Virtual device interface (see below for nested schema) // Virtual device interface - Interface []AccessPointInterfaceInitParameters `json:"interface,omitempty" tf:"interface,omitempty"` + Interface *AccessPointInterfaceInitParameters `json:"interface,omitempty" tf:"interface,omitempty"` // (Block Set, Max: 1) Connection link protocol (see below for nested schema) // Connection link protocol - LinkProtocol []AccessPointLinkProtocolInitParameters `json:"linkProtocol,omitempty" tf:"link_protocol,omitempty"` + LinkProtocol *AccessPointLinkProtocolInitParameters `json:"linkProtocol,omitempty" tf:"link_protocol,omitempty"` // (Block Set, Max: 1) Access point location (see below for nested schema) // Access point location - Location []ZSideAccessPointLocationInitParameters `json:"location,omitempty" tf:"location,omitempty"` + Location *ZSideAccessPointLocationInitParameters `json:"location,omitempty" tf:"location,omitempty"` // (Block Set, Max: 1) network access point information (see below for nested schema) // network access point information - Network []AccessPointNetworkInitParameters `json:"network,omitempty" tf:"network,omitempty"` + Network *AccessPointNetworkInitParameters `json:"network,omitempty" tf:"network,omitempty"` // PRIVATE,MICROSOFT,PUBLIC, MANUAL // Peering Type- PRIVATE,MICROSOFT,PUBLIC, MANUAL @@ -1734,15 +1734,15 @@ type ZSideAccessPointInitParameters struct { // (Block Set, Max: 1) Port access point information (see below for nested schema) // Port access point information - Port []AccessPointPortInitParameters `json:"port,omitempty" tf:"port,omitempty"` + Port *AccessPointPortInitParameters `json:"port,omitempty" tf:"port,omitempty"` // (Block Set, Max: 1) Service Profile (see below for nested schema) // Service Profile - Profile []AccessPointProfileInitParameters `json:"profile,omitempty" tf:"profile,omitempty"` + Profile *AccessPointProfileInitParameters `json:"profile,omitempty" tf:"profile,omitempty"` // (Block Set, Max: 1) Cloud Router access point information that replaces gateway (see below for nested schema) // Cloud Router access point information that replaces `gateway` - Router []AccessPointRouterInitParameters `json:"router,omitempty" tf:"router,omitempty"` + Router *AccessPointRouterInitParameters `json:"router,omitempty" tf:"router,omitempty"` // (String) Access point seller region // Access point seller region @@ -1754,7 +1754,7 @@ type ZSideAccessPointInitParameters struct { // (Block Set, Max: 1) Virtual device (see below for nested schema) // Virtual device - VirtualDevice []AccessPointVirtualDeviceInitParameters `json:"virtualDevice,omitempty" tf:"virtual_device,omitempty"` + VirtualDevice *AccessPointVirtualDeviceInitParameters `json:"virtualDevice,omitempty" tf:"virtual_device,omitempty"` } type ZSideAccessPointLocationInitParameters struct { @@ -1830,23 +1830,23 @@ type ZSideAccessPointObservation struct { // (Block Set, Max: 1, Deprecated) Deprecated gateway Use router attribute instead (see below for nested schema) // **Deprecated** `gateway` Use `router` attribute instead - Gateway []AccessPointGatewayObservation `json:"gateway,omitempty" tf:"gateway,omitempty"` + Gateway *AccessPointGatewayObservation `json:"gateway,omitempty" tf:"gateway,omitempty"` // (Block Set, Max: 1) Virtual device interface (see below for nested schema) // Virtual device interface - Interface []AccessPointInterfaceObservation `json:"interface,omitempty" tf:"interface,omitempty"` + Interface *AccessPointInterfaceObservation `json:"interface,omitempty" tf:"interface,omitempty"` // (Block Set, Max: 1) Connection link protocol (see below for nested schema) // Connection link protocol - LinkProtocol []AccessPointLinkProtocolObservation `json:"linkProtocol,omitempty" tf:"link_protocol,omitempty"` + LinkProtocol *AccessPointLinkProtocolObservation `json:"linkProtocol,omitempty" tf:"link_protocol,omitempty"` // (Block Set, Max: 1) Access point location (see below for nested schema) // Access point location - Location []ZSideAccessPointLocationObservation `json:"location,omitempty" tf:"location,omitempty"` + Location *ZSideAccessPointLocationObservation `json:"location,omitempty" tf:"location,omitempty"` // (Block Set, Max: 1) network access point information (see below for nested schema) // network access point information - Network []AccessPointNetworkObservation `json:"network,omitempty" tf:"network,omitempty"` + Network *AccessPointNetworkObservation `json:"network,omitempty" tf:"network,omitempty"` // PRIVATE,MICROSOFT,PUBLIC, MANUAL // Peering Type- PRIVATE,MICROSOFT,PUBLIC, MANUAL @@ -1854,11 +1854,11 @@ type ZSideAccessPointObservation struct { // (Block Set, Max: 1) Port access point information (see below for nested schema) // Port access point information - Port []AccessPointPortObservation `json:"port,omitempty" tf:"port,omitempty"` + Port *AccessPointPortObservation `json:"port,omitempty" tf:"port,omitempty"` // (Block Set, Max: 1) Service Profile (see below for nested schema) // Service Profile - Profile []AccessPointProfileObservation `json:"profile,omitempty" tf:"profile,omitempty"` + Profile *AccessPointProfileObservation `json:"profile,omitempty" tf:"profile,omitempty"` // (String) Provider assigned Connection Id // Provider assigned Connection Id @@ -1866,7 +1866,7 @@ type ZSideAccessPointObservation struct { // (Block Set, Max: 1) Cloud Router access point information that replaces gateway (see below for nested schema) // Cloud Router access point information that replaces `gateway` - Router []AccessPointRouterObservation `json:"router,omitempty" tf:"router,omitempty"` + Router *AccessPointRouterObservation `json:"router,omitempty" tf:"router,omitempty"` // (String) Access point seller region // Access point seller region @@ -1878,7 +1878,7 @@ type ZSideAccessPointObservation struct { // (Block Set, Max: 1) Virtual device (see below for nested schema) // Virtual device - VirtualDevice []AccessPointVirtualDeviceObservation `json:"virtualDevice,omitempty" tf:"virtual_device,omitempty"` + VirtualDevice *AccessPointVirtualDeviceObservation `json:"virtualDevice,omitempty" tf:"virtual_device,omitempty"` } type ZSideAccessPointParameters struct { @@ -1896,27 +1896,27 @@ type ZSideAccessPointParameters struct { // (Block Set, Max: 1, Deprecated) Deprecated gateway Use router attribute instead (see below for nested schema) // **Deprecated** `gateway` Use `router` attribute instead // +kubebuilder:validation:Optional - Gateway []AccessPointGatewayParameters `json:"gateway,omitempty" tf:"gateway,omitempty"` + Gateway *AccessPointGatewayParameters `json:"gateway,omitempty" tf:"gateway,omitempty"` // (Block Set, Max: 1) Virtual device interface (see below for nested schema) // Virtual device interface // +kubebuilder:validation:Optional - Interface []AccessPointInterfaceParameters `json:"interface,omitempty" tf:"interface,omitempty"` + Interface *AccessPointInterfaceParameters `json:"interface,omitempty" tf:"interface,omitempty"` // (Block Set, Max: 1) Connection link protocol (see below for nested schema) // Connection link protocol // +kubebuilder:validation:Optional - LinkProtocol []AccessPointLinkProtocolParameters `json:"linkProtocol,omitempty" tf:"link_protocol,omitempty"` + LinkProtocol *AccessPointLinkProtocolParameters `json:"linkProtocol,omitempty" tf:"link_protocol,omitempty"` // (Block Set, Max: 1) Access point location (see below for nested schema) // Access point location // +kubebuilder:validation:Optional - Location []ZSideAccessPointLocationParameters `json:"location,omitempty" tf:"location,omitempty"` + Location *ZSideAccessPointLocationParameters `json:"location,omitempty" tf:"location,omitempty"` // (Block Set, Max: 1) network access point information (see below for nested schema) // network access point information // +kubebuilder:validation:Optional - Network []AccessPointNetworkParameters `json:"network,omitempty" tf:"network,omitempty"` + Network *AccessPointNetworkParameters `json:"network,omitempty" tf:"network,omitempty"` // PRIVATE,MICROSOFT,PUBLIC, MANUAL // Peering Type- PRIVATE,MICROSOFT,PUBLIC, MANUAL @@ -1926,17 +1926,17 @@ type ZSideAccessPointParameters struct { // (Block Set, Max: 1) Port access point information (see below for nested schema) // Port access point information // +kubebuilder:validation:Optional - Port []AccessPointPortParameters `json:"port,omitempty" tf:"port,omitempty"` + Port *AccessPointPortParameters `json:"port,omitempty" tf:"port,omitempty"` // (Block Set, Max: 1) Service Profile (see below for nested schema) // Service Profile // +kubebuilder:validation:Optional - Profile []AccessPointProfileParameters `json:"profile,omitempty" tf:"profile,omitempty"` + Profile *AccessPointProfileParameters `json:"profile,omitempty" tf:"profile,omitempty"` // (Block Set, Max: 1) Cloud Router access point information that replaces gateway (see below for nested schema) // Cloud Router access point information that replaces `gateway` // +kubebuilder:validation:Optional - Router []AccessPointRouterParameters `json:"router,omitempty" tf:"router,omitempty"` + Router *AccessPointRouterParameters `json:"router,omitempty" tf:"router,omitempty"` // (String) Access point seller region // Access point seller region @@ -1951,7 +1951,7 @@ type ZSideAccessPointParameters struct { // (Block Set, Max: 1) Virtual device (see below for nested schema) // Virtual device // +kubebuilder:validation:Optional - VirtualDevice []AccessPointVirtualDeviceParameters `json:"virtualDevice,omitempty" tf:"virtual_device,omitempty"` + VirtualDevice *AccessPointVirtualDeviceParameters `json:"virtualDevice,omitempty" tf:"virtual_device,omitempty"` } type ZSideAdditionalInfoInitParameters struct { @@ -1993,7 +1993,7 @@ type ZSideInitParameters struct { // (Block Set, Max: 1) Point of access details (see below for nested schema) // Point of access details - AccessPoint []ZSideAccessPointInitParameters `json:"accessPoint,omitempty" tf:"access_point,omitempty"` + AccessPoint *ZSideAccessPointInitParameters `json:"accessPoint,omitempty" tf:"access_point,omitempty"` // (List of Map of String) Connection additional information // Connection side additional information @@ -2001,14 +2001,14 @@ type ZSideInitParameters struct { // (Block Set, Max: 1) For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets (see below for nested schema) // For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets - ServiceToken []ZSideServiceTokenInitParameters `json:"serviceToken,omitempty" tf:"service_token,omitempty"` + ServiceToken *ZSideServiceTokenInitParameters `json:"serviceToken,omitempty" tf:"service_token,omitempty"` } type ZSideObservation struct { // (Block Set, Max: 1) Point of access details (see below for nested schema) // Point of access details - AccessPoint []ZSideAccessPointObservation `json:"accessPoint,omitempty" tf:"access_point,omitempty"` + AccessPoint *ZSideAccessPointObservation `json:"accessPoint,omitempty" tf:"access_point,omitempty"` // (List of Map of String) Connection additional information // Connection side additional information @@ -2016,7 +2016,7 @@ type ZSideObservation struct { // (Block Set, Max: 1) For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets (see below for nested schema) // For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets - ServiceToken []ZSideServiceTokenObservation `json:"serviceToken,omitempty" tf:"service_token,omitempty"` + ServiceToken *ZSideServiceTokenObservation `json:"serviceToken,omitempty" tf:"service_token,omitempty"` } type ZSideParameters struct { @@ -2024,7 +2024,7 @@ type ZSideParameters struct { // (Block Set, Max: 1) Point of access details (see below for nested schema) // Point of access details // +kubebuilder:validation:Optional - AccessPoint []ZSideAccessPointParameters `json:"accessPoint,omitempty" tf:"access_point,omitempty"` + AccessPoint *ZSideAccessPointParameters `json:"accessPoint,omitempty" tf:"access_point,omitempty"` // (List of Map of String) Connection additional information // Connection side additional information @@ -2034,7 +2034,7 @@ type ZSideParameters struct { // (Block Set, Max: 1) For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets (see below for nested schema) // For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets // +kubebuilder:validation:Optional - ServiceToken []ZSideServiceTokenParameters `json:"serviceToken,omitempty" tf:"service_token,omitempty"` + ServiceToken *ZSideServiceTokenParameters `json:"serviceToken,omitempty" tf:"service_token,omitempty"` } type ZSideServiceTokenInitParameters struct { diff --git a/apis/fabric/v1alpha1/zz_generated.deepcopy.go b/apis/fabric/v1alpha1/zz_generated.deepcopy.go index 28e3d94..9c8d4b4 100644 --- a/apis/fabric/v1alpha1/zz_generated.deepcopy.go +++ b/apis/fabric/v1alpha1/zz_generated.deepcopy.go @@ -179,10 +179,8 @@ func (in *ASideInitParameters) DeepCopyInto(out *ASideInitParameters) { *out = *in if in.AccessPoint != nil { in, out := &in.AccessPoint, &out.AccessPoint - *out = make([]AccessPointInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(AccessPointInitParameters) + (*in).DeepCopyInto(*out) } if in.AdditionalInfo != nil { in, out := &in.AdditionalInfo, &out.AdditionalInfo @@ -193,10 +191,8 @@ func (in *ASideInitParameters) DeepCopyInto(out *ASideInitParameters) { } if in.ServiceToken != nil { in, out := &in.ServiceToken, &out.ServiceToken - *out = make([]ServiceTokenInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(ServiceTokenInitParameters) + (*in).DeepCopyInto(*out) } } @@ -215,10 +211,8 @@ func (in *ASideObservation) DeepCopyInto(out *ASideObservation) { *out = *in if in.AccessPoint != nil { in, out := &in.AccessPoint, &out.AccessPoint - *out = make([]AccessPointObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(AccessPointObservation) + (*in).DeepCopyInto(*out) } if in.AdditionalInfo != nil { in, out := &in.AdditionalInfo, &out.AdditionalInfo @@ -229,10 +223,8 @@ func (in *ASideObservation) DeepCopyInto(out *ASideObservation) { } if in.ServiceToken != nil { in, out := &in.ServiceToken, &out.ServiceToken - *out = make([]ServiceTokenObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(ServiceTokenObservation) + (*in).DeepCopyInto(*out) } } @@ -251,10 +243,8 @@ func (in *ASideParameters) DeepCopyInto(out *ASideParameters) { *out = *in if in.AccessPoint != nil { in, out := &in.AccessPoint, &out.AccessPoint - *out = make([]AccessPointParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(AccessPointParameters) + (*in).DeepCopyInto(*out) } if in.AdditionalInfo != nil { in, out := &in.AdditionalInfo, &out.AdditionalInfo @@ -265,10 +255,8 @@ func (in *ASideParameters) DeepCopyInto(out *ASideParameters) { } if in.ServiceToken != nil { in, out := &in.ServiceToken, &out.ServiceToken - *out = make([]ServiceTokenParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(ServiceTokenParameters) + (*in).DeepCopyInto(*out) } } @@ -447,38 +435,28 @@ func (in *AccessPointInitParameters) DeepCopyInto(out *AccessPointInitParameters } if in.Gateway != nil { in, out := &in.Gateway, &out.Gateway - *out = make([]GatewayInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(GatewayInitParameters) + (*in).DeepCopyInto(*out) } if in.Interface != nil { in, out := &in.Interface, &out.Interface - *out = make([]InterfaceInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(InterfaceInitParameters) + (*in).DeepCopyInto(*out) } if in.LinkProtocol != nil { in, out := &in.LinkProtocol, &out.LinkProtocol - *out = make([]LinkProtocolInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(LinkProtocolInitParameters) + (*in).DeepCopyInto(*out) } if in.Location != nil { in, out := &in.Location, &out.Location - *out = make([]AccessPointLocationInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(AccessPointLocationInitParameters) + (*in).DeepCopyInto(*out) } if in.Network != nil { in, out := &in.Network, &out.Network - *out = make([]NetworkInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(NetworkInitParameters) + (*in).DeepCopyInto(*out) } if in.PeeringType != nil { in, out := &in.PeeringType, &out.PeeringType @@ -487,24 +465,18 @@ func (in *AccessPointInitParameters) DeepCopyInto(out *AccessPointInitParameters } if in.Port != nil { in, out := &in.Port, &out.Port - *out = make([]PortInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(PortInitParameters) + (*in).DeepCopyInto(*out) } if in.Profile != nil { in, out := &in.Profile, &out.Profile - *out = make([]ProfileInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(ProfileInitParameters) + (*in).DeepCopyInto(*out) } if in.Router != nil { in, out := &in.Router, &out.Router - *out = make([]RouterInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(RouterInitParameters) + (*in).DeepCopyInto(*out) } if in.SellerRegion != nil { in, out := &in.SellerRegion, &out.SellerRegion @@ -518,10 +490,8 @@ func (in *AccessPointInitParameters) DeepCopyInto(out *AccessPointInitParameters } if in.VirtualDevice != nil { in, out := &in.VirtualDevice, &out.VirtualDevice - *out = make([]VirtualDeviceInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(VirtualDeviceInitParameters) + (*in).DeepCopyInto(*out) } } @@ -917,38 +887,28 @@ func (in *AccessPointObservation) DeepCopyInto(out *AccessPointObservation) { } if in.Gateway != nil { in, out := &in.Gateway, &out.Gateway - *out = make([]GatewayObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(GatewayObservation) + (*in).DeepCopyInto(*out) } if in.Interface != nil { in, out := &in.Interface, &out.Interface - *out = make([]InterfaceObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(InterfaceObservation) + (*in).DeepCopyInto(*out) } if in.LinkProtocol != nil { in, out := &in.LinkProtocol, &out.LinkProtocol - *out = make([]LinkProtocolObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(LinkProtocolObservation) + (*in).DeepCopyInto(*out) } if in.Location != nil { in, out := &in.Location, &out.Location - *out = make([]AccessPointLocationObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(AccessPointLocationObservation) + (*in).DeepCopyInto(*out) } if in.Network != nil { in, out := &in.Network, &out.Network - *out = make([]NetworkObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(NetworkObservation) + (*in).DeepCopyInto(*out) } if in.PeeringType != nil { in, out := &in.PeeringType, &out.PeeringType @@ -957,17 +917,13 @@ func (in *AccessPointObservation) DeepCopyInto(out *AccessPointObservation) { } if in.Port != nil { in, out := &in.Port, &out.Port - *out = make([]PortObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(PortObservation) + (*in).DeepCopyInto(*out) } if in.Profile != nil { in, out := &in.Profile, &out.Profile - *out = make([]ProfileObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(ProfileObservation) + (*in).DeepCopyInto(*out) } if in.ProviderConnectionID != nil { in, out := &in.ProviderConnectionID, &out.ProviderConnectionID @@ -976,10 +932,8 @@ func (in *AccessPointObservation) DeepCopyInto(out *AccessPointObservation) { } if in.Router != nil { in, out := &in.Router, &out.Router - *out = make([]RouterObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(RouterObservation) + (*in).DeepCopyInto(*out) } if in.SellerRegion != nil { in, out := &in.SellerRegion, &out.SellerRegion @@ -993,10 +947,8 @@ func (in *AccessPointObservation) DeepCopyInto(out *AccessPointObservation) { } if in.VirtualDevice != nil { in, out := &in.VirtualDevice, &out.VirtualDevice - *out = make([]VirtualDeviceObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(VirtualDeviceObservation) + (*in).DeepCopyInto(*out) } } @@ -1025,38 +977,28 @@ func (in *AccessPointParameters) DeepCopyInto(out *AccessPointParameters) { } if in.Gateway != nil { in, out := &in.Gateway, &out.Gateway - *out = make([]GatewayParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(GatewayParameters) + (*in).DeepCopyInto(*out) } if in.Interface != nil { in, out := &in.Interface, &out.Interface - *out = make([]InterfaceParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(InterfaceParameters) + (*in).DeepCopyInto(*out) } if in.LinkProtocol != nil { in, out := &in.LinkProtocol, &out.LinkProtocol - *out = make([]LinkProtocolParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(LinkProtocolParameters) + (*in).DeepCopyInto(*out) } if in.Location != nil { in, out := &in.Location, &out.Location - *out = make([]AccessPointLocationParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(AccessPointLocationParameters) + (*in).DeepCopyInto(*out) } if in.Network != nil { in, out := &in.Network, &out.Network - *out = make([]NetworkParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(NetworkParameters) + (*in).DeepCopyInto(*out) } if in.PeeringType != nil { in, out := &in.PeeringType, &out.PeeringType @@ -1065,24 +1007,18 @@ func (in *AccessPointParameters) DeepCopyInto(out *AccessPointParameters) { } if in.Port != nil { in, out := &in.Port, &out.Port - *out = make([]PortParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(PortParameters) + (*in).DeepCopyInto(*out) } if in.Profile != nil { in, out := &in.Profile, &out.Profile - *out = make([]ProfileParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(ProfileParameters) + (*in).DeepCopyInto(*out) } if in.Router != nil { in, out := &in.Router, &out.Router - *out = make([]RouterParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(RouterParameters) + (*in).DeepCopyInto(*out) } if in.SellerRegion != nil { in, out := &in.SellerRegion, &out.SellerRegion @@ -1096,10 +1032,8 @@ func (in *AccessPointParameters) DeepCopyInto(out *AccessPointParameters) { } if in.VirtualDevice != nil { in, out := &in.VirtualDevice, &out.VirtualDevice - *out = make([]VirtualDeviceParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(VirtualDeviceParameters) + (*in).DeepCopyInto(*out) } } @@ -2159,10 +2093,8 @@ func (in *CloudRouterInitParameters) DeepCopyInto(out *CloudRouterInitParameters *out = *in if in.Account != nil { in, out := &in.Account, &out.Account - *out = make([]AccountInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(AccountInitParameters) + (*in).DeepCopyInto(*out) } if in.Description != nil { in, out := &in.Description, &out.Description @@ -2176,10 +2108,8 @@ func (in *CloudRouterInitParameters) DeepCopyInto(out *CloudRouterInitParameters } if in.Location != nil { in, out := &in.Location, &out.Location - *out = make([]LocationInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(LocationInitParameters) + (*in).DeepCopyInto(*out) } if in.Name != nil { in, out := &in.Name, &out.Name @@ -2195,24 +2125,18 @@ func (in *CloudRouterInitParameters) DeepCopyInto(out *CloudRouterInitParameters } if in.Order != nil { in, out := &in.Order, &out.Order - *out = make([]OrderInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(OrderInitParameters) + (*in).DeepCopyInto(*out) } if in.Package != nil { in, out := &in.Package, &out.Package - *out = make([]PackageInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(PackageInitParameters) + (*in).DeepCopyInto(*out) } if in.Project != nil { in, out := &in.Project, &out.Project - *out = make([]ProjectInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(ProjectInitParameters) + (*in).DeepCopyInto(*out) } if in.Type != nil { in, out := &in.Type, &out.Type @@ -2273,10 +2197,8 @@ func (in *CloudRouterObservation) DeepCopyInto(out *CloudRouterObservation) { *out = *in if in.Account != nil { in, out := &in.Account, &out.Account - *out = make([]AccountObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(AccountObservation) + (*in).DeepCopyInto(*out) } if in.BGPIPv4RoutesCount != nil { in, out := &in.BGPIPv4RoutesCount, &out.BGPIPv4RoutesCount @@ -2332,10 +2254,8 @@ func (in *CloudRouterObservation) DeepCopyInto(out *CloudRouterObservation) { } if in.Location != nil { in, out := &in.Location, &out.Location - *out = make([]LocationObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(LocationObservation) + (*in).DeepCopyInto(*out) } if in.Name != nil { in, out := &in.Name, &out.Name @@ -2351,24 +2271,18 @@ func (in *CloudRouterObservation) DeepCopyInto(out *CloudRouterObservation) { } if in.Order != nil { in, out := &in.Order, &out.Order - *out = make([]OrderObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(OrderObservation) + (*in).DeepCopyInto(*out) } if in.Package != nil { in, out := &in.Package, &out.Package - *out = make([]PackageObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(PackageObservation) + (*in).DeepCopyInto(*out) } if in.Project != nil { in, out := &in.Project, &out.Project - *out = make([]ProjectObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(ProjectObservation) + (*in).DeepCopyInto(*out) } if in.State != nil { in, out := &in.State, &out.State @@ -2402,10 +2316,8 @@ func (in *CloudRouterParameters) DeepCopyInto(out *CloudRouterParameters) { *out = *in if in.Account != nil { in, out := &in.Account, &out.Account - *out = make([]AccountParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(AccountParameters) + (*in).DeepCopyInto(*out) } if in.Description != nil { in, out := &in.Description, &out.Description @@ -2419,10 +2331,8 @@ func (in *CloudRouterParameters) DeepCopyInto(out *CloudRouterParameters) { } if in.Location != nil { in, out := &in.Location, &out.Location - *out = make([]LocationParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(LocationParameters) + (*in).DeepCopyInto(*out) } if in.Name != nil { in, out := &in.Name, &out.Name @@ -2438,24 +2348,18 @@ func (in *CloudRouterParameters) DeepCopyInto(out *CloudRouterParameters) { } if in.Order != nil { in, out := &in.Order, &out.Order - *out = make([]OrderParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(OrderParameters) + (*in).DeepCopyInto(*out) } if in.Package != nil { in, out := &in.Package, &out.Package - *out = make([]PackageParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(PackageParameters) + (*in).DeepCopyInto(*out) } if in.Project != nil { in, out := &in.Project, &out.Project - *out = make([]ProjectParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(ProjectParameters) + (*in).DeepCopyInto(*out) } if in.Type != nil { in, out := &in.Type, &out.Type @@ -2736,10 +2640,8 @@ func (in *ConnectionInitParameters) DeepCopyInto(out *ConnectionInitParameters) *out = *in if in.ASide != nil { in, out := &in.ASide, &out.ASide - *out = make([]ASideInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(ASideInitParameters) + (*in).DeepCopyInto(*out) } if in.AdditionalInfo != nil { in, out := &in.AdditionalInfo, &out.AdditionalInfo @@ -2787,24 +2689,18 @@ func (in *ConnectionInitParameters) DeepCopyInto(out *ConnectionInitParameters) } if in.Order != nil { in, out := &in.Order, &out.Order - *out = make([]ConnectionOrderInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(ConnectionOrderInitParameters) + (*in).DeepCopyInto(*out) } if in.Project != nil { in, out := &in.Project, &out.Project - *out = make([]ConnectionProjectInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(ConnectionProjectInitParameters) + (*in).DeepCopyInto(*out) } if in.Redundancy != nil { in, out := &in.Redundancy, &out.Redundancy - *out = make([]ConnectionRedundancyInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(ConnectionRedundancyInitParameters) + (*in).DeepCopyInto(*out) } if in.Type != nil { in, out := &in.Type, &out.Type @@ -2813,10 +2709,8 @@ func (in *ConnectionInitParameters) DeepCopyInto(out *ConnectionInitParameters) } if in.ZSide != nil { in, out := &in.ZSide, &out.ZSide - *out = make([]ZSideInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(ZSideInitParameters) + (*in).DeepCopyInto(*out) } } @@ -2975,10 +2869,8 @@ func (in *ConnectionObservation) DeepCopyInto(out *ConnectionObservation) { *out = *in if in.ASide != nil { in, out := &in.ASide, &out.ASide - *out = make([]ASideObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(ASideObservation) + (*in).DeepCopyInto(*out) } if in.Account != nil { in, out := &in.Account, &out.Account @@ -3067,24 +2959,18 @@ func (in *ConnectionObservation) DeepCopyInto(out *ConnectionObservation) { } if in.Order != nil { in, out := &in.Order, &out.Order - *out = make([]ConnectionOrderObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(ConnectionOrderObservation) + (*in).DeepCopyInto(*out) } if in.Project != nil { in, out := &in.Project, &out.Project - *out = make([]ConnectionProjectObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(ConnectionProjectObservation) + (*in).DeepCopyInto(*out) } if in.Redundancy != nil { in, out := &in.Redundancy, &out.Redundancy - *out = make([]ConnectionRedundancyObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(ConnectionRedundancyObservation) + (*in).DeepCopyInto(*out) } if in.State != nil { in, out := &in.State, &out.State @@ -3103,10 +2989,8 @@ func (in *ConnectionObservation) DeepCopyInto(out *ConnectionObservation) { } if in.ZSide != nil { in, out := &in.ZSide, &out.ZSide - *out = make([]ZSideObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(ZSideObservation) + (*in).DeepCopyInto(*out) } } @@ -3230,10 +3114,8 @@ func (in *ConnectionParameters) DeepCopyInto(out *ConnectionParameters) { *out = *in if in.ASide != nil { in, out := &in.ASide, &out.ASide - *out = make([]ASideParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(ASideParameters) + (*in).DeepCopyInto(*out) } if in.AdditionalInfo != nil { in, out := &in.AdditionalInfo, &out.AdditionalInfo @@ -3281,24 +3163,18 @@ func (in *ConnectionParameters) DeepCopyInto(out *ConnectionParameters) { } if in.Order != nil { in, out := &in.Order, &out.Order - *out = make([]ConnectionOrderParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(ConnectionOrderParameters) + (*in).DeepCopyInto(*out) } if in.Project != nil { in, out := &in.Project, &out.Project - *out = make([]ConnectionProjectParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(ConnectionProjectParameters) + (*in).DeepCopyInto(*out) } if in.Redundancy != nil { in, out := &in.Redundancy, &out.Redundancy - *out = make([]ConnectionRedundancyParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(ConnectionRedundancyParameters) + (*in).DeepCopyInto(*out) } if in.Type != nil { in, out := &in.Type, &out.Type @@ -3307,10 +3183,8 @@ func (in *ConnectionParameters) DeepCopyInto(out *ConnectionParameters) { } if in.ZSide != nil { in, out := &in.ZSide, &out.ZSide - *out = make([]ZSideParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(ZSideParameters) + (*in).DeepCopyInto(*out) } } @@ -4798,10 +4672,8 @@ func (in *NetworkInitParameters_2) DeepCopyInto(out *NetworkInitParameters_2) { *out = *in if in.Location != nil { in, out := &in.Location, &out.Location - *out = make([]NetworkLocationInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(NetworkLocationInitParameters) + (*in).DeepCopyInto(*out) } if in.Name != nil { in, out := &in.Name, &out.Name @@ -5148,10 +5020,8 @@ func (in *NetworkObservation_2) DeepCopyInto(out *NetworkObservation_2) { } if in.Location != nil { in, out := &in.Location, &out.Location - *out = make([]NetworkLocationObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(NetworkLocationObservation) + (*in).DeepCopyInto(*out) } if in.Name != nil { in, out := &in.Name, &out.Name @@ -5286,10 +5156,8 @@ func (in *NetworkParameters_2) DeepCopyInto(out *NetworkParameters_2) { *out = *in if in.Location != nil { in, out := &in.Location, &out.Location - *out = make([]NetworkLocationParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(NetworkLocationParameters) + (*in).DeepCopyInto(*out) } if in.Name != nil { in, out := &in.Name, &out.Name @@ -6041,10 +5909,8 @@ func (in *PortsInitParameters) DeepCopyInto(out *PortsInitParameters) { } if in.Location != nil { in, out := &in.Location, &out.Location - *out = make([]PortsLocationInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(PortsLocationInitParameters) + (*in).DeepCopyInto(*out) } if in.SellerRegion != nil { in, out := &in.SellerRegion, &out.SellerRegion @@ -6193,10 +6059,8 @@ func (in *PortsObservation) DeepCopyInto(out *PortsObservation) { } if in.Location != nil { in, out := &in.Location, &out.Location - *out = make([]PortsLocationObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(PortsLocationObservation) + (*in).DeepCopyInto(*out) } if in.SellerRegion != nil { in, out := &in.SellerRegion, &out.SellerRegion @@ -6240,10 +6104,8 @@ func (in *PortsParameters) DeepCopyInto(out *PortsParameters) { } if in.Location != nil { in, out := &in.Location, &out.Location - *out = make([]PortsLocationParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(PortsLocationParameters) + (*in).DeepCopyInto(*out) } if in.SellerRegion != nil { in, out := &in.SellerRegion, &out.SellerRegion @@ -7358,10 +7220,8 @@ func (in *ServiceProfileAccessPointTypeConfigsInitParameters) DeepCopyInto(out * *out = *in if in.APIConfig != nil { in, out := &in.APIConfig, &out.APIConfig - *out = make([]APIConfigInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(APIConfigInitParameters) + (*in).DeepCopyInto(*out) } if in.AllowBandwidthAutoApproval != nil { in, out := &in.AllowBandwidthAutoApproval, &out.AllowBandwidthAutoApproval @@ -7385,10 +7245,8 @@ func (in *ServiceProfileAccessPointTypeConfigsInitParameters) DeepCopyInto(out * } if in.AuthenticationKey != nil { in, out := &in.AuthenticationKey, &out.AuthenticationKey - *out = make([]AuthenticationKeyInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(AuthenticationKeyInitParameters) + (*in).DeepCopyInto(*out) } if in.BandwidthAlertThreshold != nil { in, out := &in.BandwidthAlertThreshold, &out.BandwidthAlertThreshold @@ -7412,10 +7270,8 @@ func (in *ServiceProfileAccessPointTypeConfigsInitParameters) DeepCopyInto(out * } if in.LinkProtocolConfig != nil { in, out := &in.LinkProtocolConfig, &out.LinkProtocolConfig - *out = make([]LinkProtocolConfigInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(LinkProtocolConfigInitParameters) + (*in).DeepCopyInto(*out) } if in.SupportedBandwidths != nil { in, out := &in.SupportedBandwidths, &out.SupportedBandwidths @@ -7450,10 +7306,8 @@ func (in *ServiceProfileAccessPointTypeConfigsObservation) DeepCopyInto(out *Ser *out = *in if in.APIConfig != nil { in, out := &in.APIConfig, &out.APIConfig - *out = make([]APIConfigObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(APIConfigObservation) + (*in).DeepCopyInto(*out) } if in.AllowBandwidthAutoApproval != nil { in, out := &in.AllowBandwidthAutoApproval, &out.AllowBandwidthAutoApproval @@ -7477,10 +7331,8 @@ func (in *ServiceProfileAccessPointTypeConfigsObservation) DeepCopyInto(out *Ser } if in.AuthenticationKey != nil { in, out := &in.AuthenticationKey, &out.AuthenticationKey - *out = make([]AuthenticationKeyObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(AuthenticationKeyObservation) + (*in).DeepCopyInto(*out) } if in.BandwidthAlertThreshold != nil { in, out := &in.BandwidthAlertThreshold, &out.BandwidthAlertThreshold @@ -7504,10 +7356,8 @@ func (in *ServiceProfileAccessPointTypeConfigsObservation) DeepCopyInto(out *Ser } if in.LinkProtocolConfig != nil { in, out := &in.LinkProtocolConfig, &out.LinkProtocolConfig - *out = make([]LinkProtocolConfigObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(LinkProtocolConfigObservation) + (*in).DeepCopyInto(*out) } if in.SupportedBandwidths != nil { in, out := &in.SupportedBandwidths, &out.SupportedBandwidths @@ -7547,10 +7397,8 @@ func (in *ServiceProfileAccessPointTypeConfigsParameters) DeepCopyInto(out *Serv *out = *in if in.APIConfig != nil { in, out := &in.APIConfig, &out.APIConfig - *out = make([]APIConfigParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(APIConfigParameters) + (*in).DeepCopyInto(*out) } if in.AllowBandwidthAutoApproval != nil { in, out := &in.AllowBandwidthAutoApproval, &out.AllowBandwidthAutoApproval @@ -7574,10 +7422,8 @@ func (in *ServiceProfileAccessPointTypeConfigsParameters) DeepCopyInto(out *Serv } if in.AuthenticationKey != nil { in, out := &in.AuthenticationKey, &out.AuthenticationKey - *out = make([]AuthenticationKeyParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(AuthenticationKeyParameters) + (*in).DeepCopyInto(*out) } if in.BandwidthAlertThreshold != nil { in, out := &in.BandwidthAlertThreshold, &out.BandwidthAlertThreshold @@ -7601,10 +7447,8 @@ func (in *ServiceProfileAccessPointTypeConfigsParameters) DeepCopyInto(out *Serv } if in.LinkProtocolConfig != nil { in, out := &in.LinkProtocolConfig, &out.LinkProtocolConfig - *out = make([]LinkProtocolConfigParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(LinkProtocolConfigParameters) + (*in).DeepCopyInto(*out) } if in.SupportedBandwidths != nil { in, out := &in.SupportedBandwidths, &out.SupportedBandwidths @@ -7859,10 +7703,8 @@ func (in *ServiceProfileInitParameters) DeepCopyInto(out *ServiceProfileInitPara } if in.MarketingInfo != nil { in, out := &in.MarketingInfo, &out.MarketingInfo - *out = make([]MarketingInfoInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(MarketingInfoInitParameters) + (*in).DeepCopyInto(*out) } if in.Metros != nil { in, out := &in.Metros, &out.Metros @@ -7892,10 +7734,8 @@ func (in *ServiceProfileInitParameters) DeepCopyInto(out *ServiceProfileInitPara } if in.Project != nil { in, out := &in.Project, &out.Project - *out = make([]ServiceProfileProjectInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(ServiceProfileProjectInitParameters) + (*in).DeepCopyInto(*out) } if in.SelfProfile != nil { in, out := &in.SelfProfile, &out.SelfProfile @@ -8151,10 +7991,8 @@ func (in *ServiceProfileObservation) DeepCopyInto(out *ServiceProfileObservation } if in.MarketingInfo != nil { in, out := &in.MarketingInfo, &out.MarketingInfo - *out = make([]MarketingInfoObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(MarketingInfoObservation) + (*in).DeepCopyInto(*out) } if in.Metros != nil { in, out := &in.Metros, &out.Metros @@ -8184,10 +8022,8 @@ func (in *ServiceProfileObservation) DeepCopyInto(out *ServiceProfileObservation } if in.Project != nil { in, out := &in.Project, &out.Project - *out = make([]ServiceProfileProjectObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(ServiceProfileProjectObservation) + (*in).DeepCopyInto(*out) } if in.SelfProfile != nil { in, out := &in.SelfProfile, &out.SelfProfile @@ -8284,10 +8120,8 @@ func (in *ServiceProfileParameters) DeepCopyInto(out *ServiceProfileParameters) } if in.MarketingInfo != nil { in, out := &in.MarketingInfo, &out.MarketingInfo - *out = make([]MarketingInfoParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(MarketingInfoParameters) + (*in).DeepCopyInto(*out) } if in.Metros != nil { in, out := &in.Metros, &out.Metros @@ -8317,10 +8151,8 @@ func (in *ServiceProfileParameters) DeepCopyInto(out *ServiceProfileParameters) } if in.Project != nil { in, out := &in.Project, &out.Project - *out = make([]ServiceProfileProjectParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(ServiceProfileProjectParameters) + (*in).DeepCopyInto(*out) } if in.SelfProfile != nil { in, out := &in.SelfProfile, &out.SelfProfile @@ -8667,10 +8499,8 @@ func (in *VirtualDevicesInitParameters) DeepCopyInto(out *VirtualDevicesInitPara } if in.Location != nil { in, out := &in.Location, &out.Location - *out = make([]VirtualDevicesLocationInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(VirtualDevicesLocationInitParameters) + (*in).DeepCopyInto(*out) } if in.Type != nil { in, out := &in.Type, &out.Type @@ -8809,10 +8639,8 @@ func (in *VirtualDevicesObservation) DeepCopyInto(out *VirtualDevicesObservation } if in.Location != nil { in, out := &in.Location, &out.Location - *out = make([]VirtualDevicesLocationObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(VirtualDevicesLocationObservation) + (*in).DeepCopyInto(*out) } if in.Type != nil { in, out := &in.Type, &out.Type @@ -8846,10 +8674,8 @@ func (in *VirtualDevicesParameters) DeepCopyInto(out *VirtualDevicesParameters) } if in.Location != nil { in, out := &in.Location, &out.Location - *out = make([]VirtualDevicesLocationParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(VirtualDevicesLocationParameters) + (*in).DeepCopyInto(*out) } if in.Type != nil { in, out := &in.Type, &out.Type @@ -8973,38 +8799,28 @@ func (in *ZSideAccessPointInitParameters) DeepCopyInto(out *ZSideAccessPointInit } if in.Gateway != nil { in, out := &in.Gateway, &out.Gateway - *out = make([]AccessPointGatewayInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(AccessPointGatewayInitParameters) + (*in).DeepCopyInto(*out) } if in.Interface != nil { in, out := &in.Interface, &out.Interface - *out = make([]AccessPointInterfaceInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(AccessPointInterfaceInitParameters) + (*in).DeepCopyInto(*out) } if in.LinkProtocol != nil { in, out := &in.LinkProtocol, &out.LinkProtocol - *out = make([]AccessPointLinkProtocolInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(AccessPointLinkProtocolInitParameters) + (*in).DeepCopyInto(*out) } if in.Location != nil { in, out := &in.Location, &out.Location - *out = make([]ZSideAccessPointLocationInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(ZSideAccessPointLocationInitParameters) + (*in).DeepCopyInto(*out) } if in.Network != nil { in, out := &in.Network, &out.Network - *out = make([]AccessPointNetworkInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(AccessPointNetworkInitParameters) + (*in).DeepCopyInto(*out) } if in.PeeringType != nil { in, out := &in.PeeringType, &out.PeeringType @@ -9013,24 +8829,18 @@ func (in *ZSideAccessPointInitParameters) DeepCopyInto(out *ZSideAccessPointInit } if in.Port != nil { in, out := &in.Port, &out.Port - *out = make([]AccessPointPortInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(AccessPointPortInitParameters) + (*in).DeepCopyInto(*out) } if in.Profile != nil { in, out := &in.Profile, &out.Profile - *out = make([]AccessPointProfileInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(AccessPointProfileInitParameters) + (*in).DeepCopyInto(*out) } if in.Router != nil { in, out := &in.Router, &out.Router - *out = make([]AccessPointRouterInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(AccessPointRouterInitParameters) + (*in).DeepCopyInto(*out) } if in.SellerRegion != nil { in, out := &in.SellerRegion, &out.SellerRegion @@ -9044,10 +8854,8 @@ func (in *ZSideAccessPointInitParameters) DeepCopyInto(out *ZSideAccessPointInit } if in.VirtualDevice != nil { in, out := &in.VirtualDevice, &out.VirtualDevice - *out = make([]AccessPointVirtualDeviceInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(AccessPointVirtualDeviceInitParameters) + (*in).DeepCopyInto(*out) } } @@ -9183,38 +8991,28 @@ func (in *ZSideAccessPointObservation) DeepCopyInto(out *ZSideAccessPointObserva } if in.Gateway != nil { in, out := &in.Gateway, &out.Gateway - *out = make([]AccessPointGatewayObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(AccessPointGatewayObservation) + (*in).DeepCopyInto(*out) } if in.Interface != nil { in, out := &in.Interface, &out.Interface - *out = make([]AccessPointInterfaceObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(AccessPointInterfaceObservation) + (*in).DeepCopyInto(*out) } if in.LinkProtocol != nil { in, out := &in.LinkProtocol, &out.LinkProtocol - *out = make([]AccessPointLinkProtocolObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(AccessPointLinkProtocolObservation) + (*in).DeepCopyInto(*out) } if in.Location != nil { in, out := &in.Location, &out.Location - *out = make([]ZSideAccessPointLocationObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(ZSideAccessPointLocationObservation) + (*in).DeepCopyInto(*out) } if in.Network != nil { in, out := &in.Network, &out.Network - *out = make([]AccessPointNetworkObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(AccessPointNetworkObservation) + (*in).DeepCopyInto(*out) } if in.PeeringType != nil { in, out := &in.PeeringType, &out.PeeringType @@ -9223,17 +9021,13 @@ func (in *ZSideAccessPointObservation) DeepCopyInto(out *ZSideAccessPointObserva } if in.Port != nil { in, out := &in.Port, &out.Port - *out = make([]AccessPointPortObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(AccessPointPortObservation) + (*in).DeepCopyInto(*out) } if in.Profile != nil { in, out := &in.Profile, &out.Profile - *out = make([]AccessPointProfileObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(AccessPointProfileObservation) + (*in).DeepCopyInto(*out) } if in.ProviderConnectionID != nil { in, out := &in.ProviderConnectionID, &out.ProviderConnectionID @@ -9242,10 +9036,8 @@ func (in *ZSideAccessPointObservation) DeepCopyInto(out *ZSideAccessPointObserva } if in.Router != nil { in, out := &in.Router, &out.Router - *out = make([]AccessPointRouterObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(AccessPointRouterObservation) + (*in).DeepCopyInto(*out) } if in.SellerRegion != nil { in, out := &in.SellerRegion, &out.SellerRegion @@ -9259,10 +9051,8 @@ func (in *ZSideAccessPointObservation) DeepCopyInto(out *ZSideAccessPointObserva } if in.VirtualDevice != nil { in, out := &in.VirtualDevice, &out.VirtualDevice - *out = make([]AccessPointVirtualDeviceObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(AccessPointVirtualDeviceObservation) + (*in).DeepCopyInto(*out) } } @@ -9291,38 +9081,28 @@ func (in *ZSideAccessPointParameters) DeepCopyInto(out *ZSideAccessPointParamete } if in.Gateway != nil { in, out := &in.Gateway, &out.Gateway - *out = make([]AccessPointGatewayParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(AccessPointGatewayParameters) + (*in).DeepCopyInto(*out) } if in.Interface != nil { in, out := &in.Interface, &out.Interface - *out = make([]AccessPointInterfaceParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(AccessPointInterfaceParameters) + (*in).DeepCopyInto(*out) } if in.LinkProtocol != nil { in, out := &in.LinkProtocol, &out.LinkProtocol - *out = make([]AccessPointLinkProtocolParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(AccessPointLinkProtocolParameters) + (*in).DeepCopyInto(*out) } if in.Location != nil { in, out := &in.Location, &out.Location - *out = make([]ZSideAccessPointLocationParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(ZSideAccessPointLocationParameters) + (*in).DeepCopyInto(*out) } if in.Network != nil { in, out := &in.Network, &out.Network - *out = make([]AccessPointNetworkParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(AccessPointNetworkParameters) + (*in).DeepCopyInto(*out) } if in.PeeringType != nil { in, out := &in.PeeringType, &out.PeeringType @@ -9331,24 +9111,18 @@ func (in *ZSideAccessPointParameters) DeepCopyInto(out *ZSideAccessPointParamete } if in.Port != nil { in, out := &in.Port, &out.Port - *out = make([]AccessPointPortParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(AccessPointPortParameters) + (*in).DeepCopyInto(*out) } if in.Profile != nil { in, out := &in.Profile, &out.Profile - *out = make([]AccessPointProfileParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(AccessPointProfileParameters) + (*in).DeepCopyInto(*out) } if in.Router != nil { in, out := &in.Router, &out.Router - *out = make([]AccessPointRouterParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(AccessPointRouterParameters) + (*in).DeepCopyInto(*out) } if in.SellerRegion != nil { in, out := &in.SellerRegion, &out.SellerRegion @@ -9362,10 +9136,8 @@ func (in *ZSideAccessPointParameters) DeepCopyInto(out *ZSideAccessPointParamete } if in.VirtualDevice != nil { in, out := &in.VirtualDevice, &out.VirtualDevice - *out = make([]AccessPointVirtualDeviceParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(AccessPointVirtualDeviceParameters) + (*in).DeepCopyInto(*out) } } @@ -9459,10 +9231,8 @@ func (in *ZSideInitParameters) DeepCopyInto(out *ZSideInitParameters) { *out = *in if in.AccessPoint != nil { in, out := &in.AccessPoint, &out.AccessPoint - *out = make([]ZSideAccessPointInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(ZSideAccessPointInitParameters) + (*in).DeepCopyInto(*out) } if in.AdditionalInfo != nil { in, out := &in.AdditionalInfo, &out.AdditionalInfo @@ -9473,10 +9243,8 @@ func (in *ZSideInitParameters) DeepCopyInto(out *ZSideInitParameters) { } if in.ServiceToken != nil { in, out := &in.ServiceToken, &out.ServiceToken - *out = make([]ZSideServiceTokenInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(ZSideServiceTokenInitParameters) + (*in).DeepCopyInto(*out) } } @@ -9495,10 +9263,8 @@ func (in *ZSideObservation) DeepCopyInto(out *ZSideObservation) { *out = *in if in.AccessPoint != nil { in, out := &in.AccessPoint, &out.AccessPoint - *out = make([]ZSideAccessPointObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(ZSideAccessPointObservation) + (*in).DeepCopyInto(*out) } if in.AdditionalInfo != nil { in, out := &in.AdditionalInfo, &out.AdditionalInfo @@ -9509,10 +9275,8 @@ func (in *ZSideObservation) DeepCopyInto(out *ZSideObservation) { } if in.ServiceToken != nil { in, out := &in.ServiceToken, &out.ServiceToken - *out = make([]ZSideServiceTokenObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(ZSideServiceTokenObservation) + (*in).DeepCopyInto(*out) } } @@ -9531,10 +9295,8 @@ func (in *ZSideParameters) DeepCopyInto(out *ZSideParameters) { *out = *in if in.AccessPoint != nil { in, out := &in.AccessPoint, &out.AccessPoint - *out = make([]ZSideAccessPointParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(ZSideAccessPointParameters) + (*in).DeepCopyInto(*out) } if in.AdditionalInfo != nil { in, out := &in.AdditionalInfo, &out.AdditionalInfo @@ -9545,10 +9307,8 @@ func (in *ZSideParameters) DeepCopyInto(out *ZSideParameters) { } if in.ServiceToken != nil { in, out := &in.ServiceToken, &out.ServiceToken - *out = make([]ZSideServiceTokenParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(ZSideServiceTokenParameters) + (*in).DeepCopyInto(*out) } } diff --git a/apis/fabric/v1alpha1/zz_network_types.go b/apis/fabric/v1alpha1/zz_network_types.go index 10187a0..bea5b96 100755 --- a/apis/fabric/v1alpha1/zz_network_types.go +++ b/apis/fabric/v1alpha1/zz_network_types.go @@ -92,7 +92,7 @@ type NetworkInitParameters_2 struct { // (Block Set, Max: 1) Fabric Network location (see below for nested schema) // Fabric Network location - Location []NetworkLocationInitParameters `json:"location,omitempty" tf:"location,omitempty"` + Location *NetworkLocationInitParameters `json:"location,omitempty" tf:"location,omitempty"` // numeric 24 characters string which can include only hyphens and underscores // Fabric Network name. An alpha-numeric 24 characters string which can include only hyphens and underscores @@ -247,7 +247,7 @@ type NetworkObservation_2 struct { // (Block Set, Max: 1) Fabric Network location (see below for nested schema) // Fabric Network location - Location []NetworkLocationObservation `json:"location,omitempty" tf:"location,omitempty"` + Location *NetworkLocationObservation `json:"location,omitempty" tf:"location,omitempty"` // numeric 24 characters string which can include only hyphens and underscores // Fabric Network name. An alpha-numeric 24 characters string which can include only hyphens and underscores @@ -299,7 +299,7 @@ type NetworkParameters_2 struct { // (Block Set, Max: 1) Fabric Network location (see below for nested schema) // Fabric Network location // +kubebuilder:validation:Optional - Location []NetworkLocationParameters `json:"location,omitempty" tf:"location,omitempty"` + Location *NetworkLocationParameters `json:"location,omitempty" tf:"location,omitempty"` // numeric 24 characters string which can include only hyphens and underscores // Fabric Network name. An alpha-numeric 24 characters string which can include only hyphens and underscores diff --git a/apis/fabric/v1alpha1/zz_serviceprofile_types.go b/apis/fabric/v1alpha1/zz_serviceprofile_types.go index afded5b..f45a81e 100755 --- a/apis/fabric/v1alpha1/zz_serviceprofile_types.go +++ b/apis/fabric/v1alpha1/zz_serviceprofile_types.go @@ -454,7 +454,7 @@ type PortsInitParameters struct { // (Block Set, Max: 1) Colo/Port Location (see below for nested schema) // Colo/Port Location - Location []PortsLocationInitParameters `json:"location,omitempty" tf:"location,omitempty"` + Location *PortsLocationInitParameters `json:"location,omitempty" tf:"location,omitempty"` // (String) Seller Region // Seller Region @@ -542,7 +542,7 @@ type PortsObservation struct { // (Block Set, Max: 1) Colo/Port Location (see below for nested schema) // Colo/Port Location - Location []PortsLocationObservation `json:"location,omitempty" tf:"location,omitempty"` + Location *PortsLocationObservation `json:"location,omitempty" tf:"location,omitempty"` // (String) Seller Region // Seller Region @@ -571,7 +571,7 @@ type PortsParameters struct { // (Block Set, Max: 1) Colo/Port Location (see below for nested schema) // Colo/Port Location // +kubebuilder:validation:Optional - Location []PortsLocationParameters `json:"location,omitempty" tf:"location,omitempty"` + Location *PortsLocationParameters `json:"location,omitempty" tf:"location,omitempty"` // (String) Seller Region // Seller Region @@ -646,7 +646,7 @@ type ServiceProfileAccessPointTypeConfigsInitParameters struct { // (Block Set, Max: 1) Api configuration details (see below for nested schema) // Api configuration details - APIConfig []APIConfigInitParameters `json:"apiConfig,omitempty" tf:"api_config,omitempty"` + APIConfig *APIConfigInitParameters `json:"apiConfig,omitempty" tf:"api_config,omitempty"` // (Boolean) Setting to enable or disable the ability of the buyer to change connection bandwidth without approval of the seller // Setting to enable or disable the ability of the buyer to change connection bandwidth without approval of the seller @@ -666,7 +666,7 @@ type ServiceProfileAccessPointTypeConfigsInitParameters struct { // (Block Set, Max: 1) Authentication key details (see below for nested schema) // Authentication key details - AuthenticationKey []AuthenticationKeyInitParameters `json:"authenticationKey,omitempty" tf:"authentication_key,omitempty"` + AuthenticationKey *AuthenticationKeyInitParameters `json:"authenticationKey,omitempty" tf:"authentication_key,omitempty"` // (Number) Percentage of port bandwidth at which an allocation alert is generated // Percentage of port bandwidth at which an allocation alert is generated @@ -686,7 +686,7 @@ type ServiceProfileAccessPointTypeConfigsInitParameters struct { // (Block Set, Max: 1) Link protocol configuration details (see below for nested schema) // Link protocol configuration details - LinkProtocolConfig []LinkProtocolConfigInitParameters `json:"linkProtocolConfig,omitempty" tf:"link_protocol_config,omitempty"` + LinkProtocolConfig *LinkProtocolConfigInitParameters `json:"linkProtocolConfig,omitempty" tf:"link_protocol_config,omitempty"` // (List of Number) Supported bandwidths // Supported bandwidths @@ -701,7 +701,7 @@ type ServiceProfileAccessPointTypeConfigsObservation struct { // (Block Set, Max: 1) Api configuration details (see below for nested schema) // Api configuration details - APIConfig []APIConfigObservation `json:"apiConfig,omitempty" tf:"api_config,omitempty"` + APIConfig *APIConfigObservation `json:"apiConfig,omitempty" tf:"api_config,omitempty"` // (Boolean) Setting to enable or disable the ability of the buyer to change connection bandwidth without approval of the seller // Setting to enable or disable the ability of the buyer to change connection bandwidth without approval of the seller @@ -721,7 +721,7 @@ type ServiceProfileAccessPointTypeConfigsObservation struct { // (Block Set, Max: 1) Authentication key details (see below for nested schema) // Authentication key details - AuthenticationKey []AuthenticationKeyObservation `json:"authenticationKey,omitempty" tf:"authentication_key,omitempty"` + AuthenticationKey *AuthenticationKeyObservation `json:"authenticationKey,omitempty" tf:"authentication_key,omitempty"` // (Number) Percentage of port bandwidth at which an allocation alert is generated // Percentage of port bandwidth at which an allocation alert is generated @@ -741,7 +741,7 @@ type ServiceProfileAccessPointTypeConfigsObservation struct { // (Block Set, Max: 1) Link protocol configuration details (see below for nested schema) // Link protocol configuration details - LinkProtocolConfig []LinkProtocolConfigObservation `json:"linkProtocolConfig,omitempty" tf:"link_protocol_config,omitempty"` + LinkProtocolConfig *LinkProtocolConfigObservation `json:"linkProtocolConfig,omitempty" tf:"link_protocol_config,omitempty"` // (List of Number) Supported bandwidths // Supported bandwidths @@ -761,7 +761,7 @@ type ServiceProfileAccessPointTypeConfigsParameters struct { // (Block Set, Max: 1) Api configuration details (see below for nested schema) // Api configuration details // +kubebuilder:validation:Optional - APIConfig []APIConfigParameters `json:"apiConfig,omitempty" tf:"api_config,omitempty"` + APIConfig *APIConfigParameters `json:"apiConfig,omitempty" tf:"api_config,omitempty"` // (Boolean) Setting to enable or disable the ability of the buyer to change connection bandwidth without approval of the seller // Setting to enable or disable the ability of the buyer to change connection bandwidth without approval of the seller @@ -786,7 +786,7 @@ type ServiceProfileAccessPointTypeConfigsParameters struct { // (Block Set, Max: 1) Authentication key details (see below for nested schema) // Authentication key details // +kubebuilder:validation:Optional - AuthenticationKey []AuthenticationKeyParameters `json:"authenticationKey,omitempty" tf:"authentication_key,omitempty"` + AuthenticationKey *AuthenticationKeyParameters `json:"authenticationKey,omitempty" tf:"authentication_key,omitempty"` // (Number) Percentage of port bandwidth at which an allocation alert is generated // Percentage of port bandwidth at which an allocation alert is generated @@ -811,7 +811,7 @@ type ServiceProfileAccessPointTypeConfigsParameters struct { // (Block Set, Max: 1) Link protocol configuration details (see below for nested schema) // Link protocol configuration details // +kubebuilder:validation:Optional - LinkProtocolConfig []LinkProtocolConfigParameters `json:"linkProtocolConfig,omitempty" tf:"link_protocol_config,omitempty"` + LinkProtocolConfig *LinkProtocolConfigParameters `json:"linkProtocolConfig,omitempty" tf:"link_protocol_config,omitempty"` // (List of Number) Supported bandwidths // Supported bandwidths @@ -922,7 +922,7 @@ type ServiceProfileInitParameters struct { // (Block Set, Max: 1) Marketing Info (see below for nested schema) // Marketing Info - MarketingInfo []MarketingInfoInitParameters `json:"marketingInfo,omitempty" tf:"marketing_info,omitempty"` + MarketingInfo *MarketingInfoInitParameters `json:"marketingInfo,omitempty" tf:"marketing_info,omitempty"` // (Block List) Access point config information (see below for nested schema) // Access point config information @@ -942,7 +942,7 @@ type ServiceProfileInitParameters struct { // (Block Set, Max: 1) Project information (see below for nested schema) // Project information - Project []ServiceProfileProjectInitParameters `json:"project,omitempty" tf:"project,omitempty"` + Project *ServiceProfileProjectInitParameters `json:"project,omitempty" tf:"project,omitempty"` // (Boolean) Self Profile indicating if the profile is created for customer's self use // Self Profile indicating if the profile is created for customer's self use @@ -1055,7 +1055,7 @@ type ServiceProfileObservation struct { // (Block Set, Max: 1) Marketing Info (see below for nested schema) // Marketing Info - MarketingInfo []MarketingInfoObservation `json:"marketingInfo,omitempty" tf:"marketing_info,omitempty"` + MarketingInfo *MarketingInfoObservation `json:"marketingInfo,omitempty" tf:"marketing_info,omitempty"` // (Block List) Access point config information (see below for nested schema) // Access point config information @@ -1075,7 +1075,7 @@ type ServiceProfileObservation struct { // (Block Set, Max: 1) Project information (see below for nested schema) // Project information - Project []ServiceProfileProjectObservation `json:"project,omitempty" tf:"project,omitempty"` + Project *ServiceProfileProjectObservation `json:"project,omitempty" tf:"project,omitempty"` // (Boolean) Self Profile indicating if the profile is created for customer's self use // Self Profile indicating if the profile is created for customer's self use @@ -1134,7 +1134,7 @@ type ServiceProfileParameters struct { // (Block Set, Max: 1) Marketing Info (see below for nested schema) // Marketing Info // +kubebuilder:validation:Optional - MarketingInfo []MarketingInfoParameters `json:"marketingInfo,omitempty" tf:"marketing_info,omitempty"` + MarketingInfo *MarketingInfoParameters `json:"marketingInfo,omitempty" tf:"marketing_info,omitempty"` // (Block List) Access point config information (see below for nested schema) // Access point config information @@ -1159,7 +1159,7 @@ type ServiceProfileParameters struct { // (Block Set, Max: 1) Project information (see below for nested schema) // Project information // +kubebuilder:validation:Optional - Project []ServiceProfileProjectParameters `json:"project,omitempty" tf:"project,omitempty"` + Project *ServiceProfileProjectParameters `json:"project,omitempty" tf:"project,omitempty"` // (Boolean) Self Profile indicating if the profile is created for customer's self use // Self Profile indicating if the profile is created for customer's self use @@ -1230,7 +1230,7 @@ type VirtualDevicesInitParameters struct { // (Block Set, Max: 1) Colo/Port Location (see below for nested schema) // Device Location - Location []VirtualDevicesLocationInitParameters `json:"location,omitempty" tf:"location,omitempty"` + Location *VirtualDevicesLocationInitParameters `json:"location,omitempty" tf:"location,omitempty"` // L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE // Virtual Device Type @@ -1310,7 +1310,7 @@ type VirtualDevicesObservation struct { // (Block Set, Max: 1) Colo/Port Location (see below for nested schema) // Device Location - Location []VirtualDevicesLocationObservation `json:"location,omitempty" tf:"location,omitempty"` + Location *VirtualDevicesLocationObservation `json:"location,omitempty" tf:"location,omitempty"` // L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE // Virtual Device Type @@ -1331,7 +1331,7 @@ type VirtualDevicesParameters struct { // (Block Set, Max: 1) Colo/Port Location (see below for nested schema) // Device Location // +kubebuilder:validation:Optional - Location []VirtualDevicesLocationParameters `json:"location,omitempty" tf:"location,omitempty"` + Location *VirtualDevicesLocationParameters `json:"location,omitempty" tf:"location,omitempty"` // L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE // Virtual Device Type diff --git a/apis/metal/v1alpha1/zz_device_types.go b/apis/metal/v1alpha1/zz_device_types.go index 346094a..09a5ebe 100755 --- a/apis/metal/v1alpha1/zz_device_types.go +++ b/apis/metal/v1alpha1/zz_device_types.go @@ -54,7 +54,7 @@ type DeviceInitParameters struct { AlwaysPxe *bool `json:"alwaysPxe,omitempty" tf:"always_pxe,omitempty"` // (Block List, Max: 1) (see below for nested schema) - Behavior []BehaviorInitParameters `json:"behavior,omitempty" tf:"behavior,omitempty"` + Behavior *BehaviorInitParameters `json:"behavior,omitempty" tf:"behavior,omitempty"` // (String) monthly or hourly // monthly or hourly @@ -126,7 +126,7 @@ type DeviceInitParameters struct { ProjectSSHKeyIds []*string `json:"projectSshKeyIds,omitempty" tf:"project_ssh_key_ids,omitempty"` // (Block List, Max: 1) (see below for nested schema) - Reinstall []ReinstallInitParameters `json:"reinstall,omitempty" tf:"reinstall,omitempty"` + Reinstall *ReinstallInitParameters `json:"reinstall,omitempty" tf:"reinstall,omitempty"` // (String) JSON for custom partitioning. Only usable on reserved hardware. More information in in the Custom Partitioning and RAID doc // JSON for custom partitioning. Only usable on reserved hardware. More information in in the [Custom Partitioning and RAID](https://metal.equinix.com/developers/docs/servers/custom-partitioning-raid/) doc @@ -172,7 +172,7 @@ type DeviceObservation struct { AlwaysPxe *bool `json:"alwaysPxe,omitempty" tf:"always_pxe,omitempty"` // (Block List, Max: 1) (see below for nested schema) - Behavior []BehaviorObservation `json:"behavior,omitempty" tf:"behavior,omitempty"` + Behavior *BehaviorObservation `json:"behavior,omitempty" tf:"behavior,omitempty"` // (String) monthly or hourly // monthly or hourly @@ -258,7 +258,7 @@ type DeviceObservation struct { ProjectSSHKeyIds []*string `json:"projectSshKeyIds,omitempty" tf:"project_ssh_key_ids,omitempty"` // (Block List, Max: 1) (see below for nested schema) - Reinstall []ReinstallObservation `json:"reinstall,omitempty" tf:"reinstall,omitempty"` + Reinstall *ReinstallObservation `json:"reinstall,omitempty" tf:"reinstall,omitempty"` // (List of String) List of IDs of SSH keys deployed in the device, can be both user and project SSH keys // List of IDs of SSH keys deployed in the device, can be both user and project SSH keys @@ -306,7 +306,7 @@ type DeviceParameters struct { // (Block List, Max: 1) (see below for nested schema) // +kubebuilder:validation:Optional - Behavior []BehaviorParameters `json:"behavior,omitempty" tf:"behavior,omitempty"` + Behavior *BehaviorParameters `json:"behavior,omitempty" tf:"behavior,omitempty"` // (String) monthly or hourly // monthly or hourly @@ -394,7 +394,7 @@ type DeviceParameters struct { // (Block List, Max: 1) (see below for nested schema) // +kubebuilder:validation:Optional - Reinstall []ReinstallParameters `json:"reinstall,omitempty" tf:"reinstall,omitempty"` + Reinstall *ReinstallParameters `json:"reinstall,omitempty" tf:"reinstall,omitempty"` // (String) JSON for custom partitioning. Only usable on reserved hardware. More information in in the Custom Partitioning and RAID doc // JSON for custom partitioning. Only usable on reserved hardware. More information in in the [Custom Partitioning and RAID](https://metal.equinix.com/developers/docs/servers/custom-partitioning-raid/) doc diff --git a/apis/metal/v1alpha1/zz_generated.deepcopy.go b/apis/metal/v1alpha1/zz_generated.deepcopy.go index 84edaec..98ffc1d 100644 --- a/apis/metal/v1alpha1/zz_generated.deepcopy.go +++ b/apis/metal/v1alpha1/zz_generated.deepcopy.go @@ -1061,10 +1061,8 @@ func (in *DeviceInitParameters) DeepCopyInto(out *DeviceInitParameters) { } if in.Behavior != nil { in, out := &in.Behavior, &out.Behavior - *out = make([]BehaviorInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(BehaviorInitParameters) + (*in).DeepCopyInto(*out) } if in.BillingCycle != nil { in, out := &in.BillingCycle, &out.BillingCycle @@ -1167,10 +1165,8 @@ func (in *DeviceInitParameters) DeepCopyInto(out *DeviceInitParameters) { } if in.Reinstall != nil { in, out := &in.Reinstall, &out.Reinstall - *out = make([]ReinstallInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(ReinstallInitParameters) + (*in).DeepCopyInto(*out) } if in.Storage != nil { in, out := &in.Storage, &out.Storage @@ -1477,10 +1473,8 @@ func (in *DeviceObservation) DeepCopyInto(out *DeviceObservation) { } if in.Behavior != nil { in, out := &in.Behavior, &out.Behavior - *out = make([]BehaviorObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(BehaviorObservation) + (*in).DeepCopyInto(*out) } if in.BillingCycle != nil { in, out := &in.BillingCycle, &out.BillingCycle @@ -1607,10 +1601,8 @@ func (in *DeviceObservation) DeepCopyInto(out *DeviceObservation) { } if in.Reinstall != nil { in, out := &in.Reinstall, &out.Reinstall - *out = make([]ReinstallObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(ReinstallObservation) + (*in).DeepCopyInto(*out) } if in.SSHKeyIds != nil { in, out := &in.SSHKeyIds, &out.SSHKeyIds @@ -1697,10 +1689,8 @@ func (in *DeviceParameters) DeepCopyInto(out *DeviceParameters) { } if in.Behavior != nil { in, out := &in.Behavior, &out.Behavior - *out = make([]BehaviorParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(BehaviorParameters) + (*in).DeepCopyInto(*out) } if in.BillingCycle != nil { in, out := &in.BillingCycle, &out.BillingCycle @@ -1803,10 +1793,8 @@ func (in *DeviceParameters) DeepCopyInto(out *DeviceParameters) { } if in.Reinstall != nil { in, out := &in.Reinstall, &out.Reinstall - *out = make([]ReinstallParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(ReinstallParameters) + (*in).DeepCopyInto(*out) } if in.Storage != nil { in, out := &in.Storage, &out.Storage @@ -5762,10 +5750,8 @@ func (in *SpotMarketRequestInitParameters) DeepCopyInto(out *SpotMarketRequestIn } if in.InstanceParameters != nil { in, out := &in.InstanceParameters, &out.InstanceParameters - *out = make([]InstanceParametersInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(InstanceParametersInitParameters) + (*in).DeepCopyInto(*out) } if in.MaxBidPrice != nil { in, out := &in.MaxBidPrice, &out.MaxBidPrice @@ -5872,10 +5858,8 @@ func (in *SpotMarketRequestObservation) DeepCopyInto(out *SpotMarketRequestObser } if in.InstanceParameters != nil { in, out := &in.InstanceParameters, &out.InstanceParameters - *out = make([]InstanceParametersObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(InstanceParametersObservation) + (*in).DeepCopyInto(*out) } if in.MaxBidPrice != nil { in, out := &in.MaxBidPrice, &out.MaxBidPrice @@ -5935,10 +5919,8 @@ func (in *SpotMarketRequestParameters) DeepCopyInto(out *SpotMarketRequestParame } if in.InstanceParameters != nil { in, out := &in.InstanceParameters, &out.InstanceParameters - *out = make([]InstanceParametersParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(InstanceParametersParameters) + (*in).DeepCopyInto(*out) } if in.MaxBidPrice != nil { in, out := &in.MaxBidPrice, &out.MaxBidPrice diff --git a/apis/metal/v1alpha1/zz_spotmarketrequest_types.go b/apis/metal/v1alpha1/zz_spotmarketrequest_types.go index bcec5bd..aa4ca33 100755 --- a/apis/metal/v1alpha1/zz_spotmarketrequest_types.go +++ b/apis/metal/v1alpha1/zz_spotmarketrequest_types.go @@ -153,7 +153,7 @@ type SpotMarketRequestInitParameters struct { // Key/Value pairs of parameters for devices provisioned from this request. Valid keys are: billing_cycle, plan, operating_system, hostname, termination_time, always_pxe, description, features, locked, project_ssh_keys, user_ssh_keys, userdata, customdata, ipxe_script_url, tags. You can find each parameter description in equinix_metal_device docs. // Parameters for devices provisioned from this request. You can find the parameter description from the [equinix_metal_device doc](device.md) - InstanceParameters []InstanceParametersInitParameters `json:"instanceParameters,omitempty" tf:"instance_parameters,omitempty"` + InstanceParameters *InstanceParametersInitParameters `json:"instanceParameters,omitempty" tf:"instance_parameters,omitempty"` // Maximum price user is willing to pay per hour per device. // Maximum price user is willing to pay per hour per device @@ -200,7 +200,7 @@ type SpotMarketRequestObservation struct { // Key/Value pairs of parameters for devices provisioned from this request. Valid keys are: billing_cycle, plan, operating_system, hostname, termination_time, always_pxe, description, features, locked, project_ssh_keys, user_ssh_keys, userdata, customdata, ipxe_script_url, tags. You can find each parameter description in equinix_metal_device docs. // Parameters for devices provisioned from this request. You can find the parameter description from the [equinix_metal_device doc](device.md) - InstanceParameters []InstanceParametersObservation `json:"instanceParameters,omitempty" tf:"instance_parameters,omitempty"` + InstanceParameters *InstanceParametersObservation `json:"instanceParameters,omitempty" tf:"instance_parameters,omitempty"` // Maximum price user is willing to pay per hour per device. // Maximum price user is willing to pay per hour per device @@ -239,7 +239,7 @@ type SpotMarketRequestParameters struct { // Key/Value pairs of parameters for devices provisioned from this request. Valid keys are: billing_cycle, plan, operating_system, hostname, termination_time, always_pxe, description, features, locked, project_ssh_keys, user_ssh_keys, userdata, customdata, ipxe_script_url, tags. You can find each parameter description in equinix_metal_device docs. // Parameters for devices provisioned from this request. You can find the parameter description from the [equinix_metal_device doc](device.md) // +kubebuilder:validation:Optional - InstanceParameters []InstanceParametersParameters `json:"instanceParameters,omitempty" tf:"instance_parameters,omitempty"` + InstanceParameters *InstanceParametersParameters `json:"instanceParameters,omitempty" tf:"instance_parameters,omitempty"` // Maximum price user is willing to pay per hour per device. // Maximum price user is willing to pay per hour per device diff --git a/apis/network/v1alpha1/zz_device_types.go b/apis/network/v1alpha1/zz_device_types.go index 0663b3a..99878b3 100755 --- a/apis/network/v1alpha1/zz_device_types.go +++ b/apis/network/v1alpha1/zz_device_types.go @@ -33,11 +33,11 @@ type ClusterDetailsInitParameters struct { // An object that has node0 configuration. See Cluster Details - Nodes below for more details. // An object that has node0 details - Node0 []Node0InitParameters `json:"node0,omitempty" tf:"node0,omitempty"` + Node0 *Node0InitParameters `json:"node0,omitempty" tf:"node0,omitempty"` // An object that has node1 configuration. See Cluster Details - Nodes below for more details. // An object that has node1 details - Node1 []Node1InitParameters `json:"node1,omitempty" tf:"node1,omitempty"` + Node1 *Node1InitParameters `json:"node1,omitempty" tf:"node1,omitempty"` } type ClusterDetailsObservation struct { @@ -52,11 +52,11 @@ type ClusterDetailsObservation struct { // An object that has node0 configuration. See Cluster Details - Nodes below for more details. // An object that has node0 details - Node0 []Node0Observation `json:"node0,omitempty" tf:"node0,omitempty"` + Node0 *Node0Observation `json:"node0,omitempty" tf:"node0,omitempty"` // An object that has node1 configuration. See Cluster Details - Nodes below for more details. // An object that has node1 details - Node1 []Node1Observation `json:"node1,omitempty" tf:"node1,omitempty"` + Node1 *Node1Observation `json:"node1,omitempty" tf:"node1,omitempty"` // The number of nodes in the cluster. // The number of nodes in the cluster @@ -73,12 +73,12 @@ type ClusterDetailsParameters struct { // An object that has node0 configuration. See Cluster Details - Nodes below for more details. // An object that has node0 details // +kubebuilder:validation:Optional - Node0 []Node0Parameters `json:"node0" tf:"node0,omitempty"` + Node0 *Node0Parameters `json:"node0" tf:"node0,omitempty"` // An object that has node1 configuration. See Cluster Details - Nodes below for more details. // An object that has node1 details // +kubebuilder:validation:Optional - Node1 []Node1Parameters `json:"node1" tf:"node1,omitempty"` + Node1 *Node1Parameters `json:"node1" tf:"node1,omitempty"` } type DeviceInitParameters struct { @@ -101,11 +101,21 @@ type DeviceInitParameters struct { // Identifier of a cloud init file that will be applied on the device. // Unique identifier of applied cloud init file + // +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/network/v1alpha1.File + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("uuid",true) CloudInitFileID *string `json:"cloudInitFileId,omitempty" tf:"cloud_init_file_id,omitempty"` + // Reference to a File in network to populate cloudInitFileId. + // +kubebuilder:validation:Optional + CloudInitFileIDRef *v1.Reference `json:"cloudInitFileIdRef,omitempty" tf:"-"` + + // Selector for a File in network to populate cloudInitFileId. + // +kubebuilder:validation:Optional + CloudInitFileIDSelector *v1.Selector `json:"cloudInitFileIdSelector,omitempty" tf:"-"` + // An object that has the cluster details. See Cluster Details below for more details. // An object that has the cluster details - ClusterDetails []ClusterDetailsInitParameters `json:"clusterDetails,omitempty" tf:"cluster_details,omitempty"` + ClusterDetails *ClusterDetailsInitParameters `json:"clusterDetails,omitempty" tf:"cluster_details,omitempty"` // Device accessibility (INTERNET-ACCESS or PRIVATE or INTERNET-ACCESS-WITH-PRVT-MGMT). If not specified, default will be INTERNET-ACCESS // Parameter to identify internet access for device. Supported Values: INTERNET-ACCESS(default) or PRIVATE or INTERNET-ACCESS-WITH-PRVT-MGMT @@ -173,11 +183,11 @@ type DeviceInitParameters struct { PurchaseOrderNumber *string `json:"purchaseOrderNumber,omitempty" tf:"purchase_order_number,omitempty"` // Definition of SSH key that will be provisioned on a device - SSHKey []DeviceSSHKeyInitParameters `json:"sshKey,omitempty" tf:"ssh_key,omitempty"` + SSHKey *DeviceSSHKeyInitParameters `json:"sshKey,omitempty" tf:"ssh_key,omitempty"` // Definition of secondary device for redundant device configurations. See Secondary Device below for more details. // Definition of secondary device applicable for HA setup - SecondaryDevice []SecondaryDeviceInitParameters `json:"secondaryDevice,omitempty" tf:"secondary_device,omitempty"` + SecondaryDevice *SecondaryDeviceInitParameters `json:"secondaryDevice,omitempty" tf:"secondary_device,omitempty"` // Boolean value that determines device management mode, i.e., self-managed or Equinix-managed (default). // Boolean value that determines device management mode: self-managed or subscription (default) @@ -241,7 +251,7 @@ type DeviceObservation struct { // An object that has the cluster details. See Cluster Details below for more details. // An object that has the cluster details - ClusterDetails []ClusterDetailsObservation `json:"clusterDetails,omitempty" tf:"cluster_details,omitempty"` + ClusterDetails *ClusterDetailsObservation `json:"clusterDetails,omitempty" tf:"cluster_details,omitempty"` // Device accessibility (INTERNET-ACCESS or PRIVATE or INTERNET-ACCESS-WITH-PRVT-MGMT). If not specified, default will be INTERNET-ACCESS // Parameter to identify internet access for device. Supported Values: INTERNET-ACCESS(default) or PRIVATE or INTERNET-ACCESS-WITH-PRVT-MGMT @@ -348,11 +358,11 @@ type DeviceObservation struct { SSHIPFqdn *string `json:"sshIpFqdn,omitempty" tf:"ssh_ip_fqdn,omitempty"` // Definition of SSH key that will be provisioned on a device - SSHKey []DeviceSSHKeyObservation `json:"sshKey,omitempty" tf:"ssh_key,omitempty"` + SSHKey *DeviceSSHKeyObservation `json:"sshKey,omitempty" tf:"ssh_key,omitempty"` // Definition of secondary device for redundant device configurations. See Secondary Device below for more details. // Definition of secondary device applicable for HA setup - SecondaryDevice []SecondaryDeviceObservation `json:"secondaryDevice,omitempty" tf:"secondary_device,omitempty"` + SecondaryDevice *SecondaryDeviceObservation `json:"secondaryDevice,omitempty" tf:"secondary_device,omitempty"` // Boolean value that determines device management mode, i.e., self-managed or Equinix-managed (default). // Boolean value that determines device management mode: self-managed or subscription (default) @@ -424,13 +434,23 @@ type DeviceParameters struct { // Identifier of a cloud init file that will be applied on the device. // Unique identifier of applied cloud init file + // +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/network/v1alpha1.File + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("uuid",true) // +kubebuilder:validation:Optional CloudInitFileID *string `json:"cloudInitFileId,omitempty" tf:"cloud_init_file_id,omitempty"` + // Reference to a File in network to populate cloudInitFileId. + // +kubebuilder:validation:Optional + CloudInitFileIDRef *v1.Reference `json:"cloudInitFileIdRef,omitempty" tf:"-"` + + // Selector for a File in network to populate cloudInitFileId. + // +kubebuilder:validation:Optional + CloudInitFileIDSelector *v1.Selector `json:"cloudInitFileIdSelector,omitempty" tf:"-"` + // An object that has the cluster details. See Cluster Details below for more details. // An object that has the cluster details // +kubebuilder:validation:Optional - ClusterDetails []ClusterDetailsParameters `json:"clusterDetails,omitempty" tf:"cluster_details,omitempty"` + ClusterDetails *ClusterDetailsParameters `json:"clusterDetails,omitempty" tf:"cluster_details,omitempty"` // Device accessibility (INTERNET-ACCESS or PRIVATE or INTERNET-ACCESS-WITH-PRVT-MGMT). If not specified, default will be INTERNET-ACCESS // Parameter to identify internet access for device. Supported Values: INTERNET-ACCESS(default) or PRIVATE or INTERNET-ACCESS-WITH-PRVT-MGMT @@ -515,12 +535,12 @@ type DeviceParameters struct { // Definition of SSH key that will be provisioned on a device // +kubebuilder:validation:Optional - SSHKey []DeviceSSHKeyParameters `json:"sshKey,omitempty" tf:"ssh_key,omitempty"` + SSHKey *DeviceSSHKeyParameters `json:"sshKey,omitempty" tf:"ssh_key,omitempty"` // Definition of secondary device for redundant device configurations. See Secondary Device below for more details. // Definition of secondary device applicable for HA setup // +kubebuilder:validation:Optional - SecondaryDevice []SecondaryDeviceParameters `json:"secondaryDevice,omitempty" tf:"secondary_device,omitempty"` + SecondaryDevice *SecondaryDeviceParameters `json:"secondaryDevice,omitempty" tf:"secondary_device,omitempty"` // Boolean value that determines device management mode, i.e., self-managed or Equinix-managed (default). // Boolean value that determines device management mode: self-managed or subscription (default) @@ -568,8 +588,18 @@ type DeviceSSHKeyInitParameters struct { // Device name. // Reference by name to previously provisioned public SSH key + // +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/network/v1alpha1.SSHKey + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("name",false) KeyName *string `json:"keyName,omitempty" tf:"key_name,omitempty"` + // Reference to a SSHKey in network to populate keyName. + // +kubebuilder:validation:Optional + KeyNameRef *v1.Reference `json:"keyNameRef,omitempty" tf:"-"` + + // Selector for a SSHKey in network to populate keyName. + // +kubebuilder:validation:Optional + KeyNameSelector *v1.Selector `json:"keyNameSelector,omitempty" tf:"-"` + // username associated with given key. // Username associated with given key Username *string `json:"username,omitempty" tf:"username,omitempty"` @@ -590,8 +620,18 @@ type DeviceSSHKeyParameters struct { // Device name. // Reference by name to previously provisioned public SSH key + // +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/network/v1alpha1.SSHKey + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("name",false) // +kubebuilder:validation:Optional - KeyName *string `json:"keyName" tf:"key_name,omitempty"` + KeyName *string `json:"keyName,omitempty" tf:"key_name,omitempty"` + + // Reference to a SSHKey in network to populate keyName. + // +kubebuilder:validation:Optional + KeyNameRef *v1.Reference `json:"keyNameRef,omitempty" tf:"-"` + + // Selector for a SSHKey in network to populate keyName. + // +kubebuilder:validation:Optional + KeyNameSelector *v1.Selector `json:"keyNameSelector,omitempty" tf:"-"` // username associated with given key. // Username associated with given key @@ -644,7 +684,7 @@ type Node0InitParameters struct { // An object that has fields relevant to the vendor of the cluster device. See Cluster Details - Nodes - Vendor Configuration below for more details. // An object that has fields relevant to the vendor of the cluster device - VendorConfiguration []VendorConfigurationInitParameters `json:"vendorConfiguration,omitempty" tf:"vendor_configuration,omitempty"` + VendorConfiguration *VendorConfigurationInitParameters `json:"vendorConfiguration,omitempty" tf:"vendor_configuration,omitempty"` } type Node0Observation struct { @@ -663,7 +703,7 @@ type Node0Observation struct { // An object that has fields relevant to the vendor of the cluster device. See Cluster Details - Nodes - Vendor Configuration below for more details. // An object that has fields relevant to the vendor of the cluster device - VendorConfiguration []VendorConfigurationObservation `json:"vendorConfiguration,omitempty" tf:"vendor_configuration,omitempty"` + VendorConfiguration *VendorConfigurationObservation `json:"vendorConfiguration,omitempty" tf:"vendor_configuration,omitempty"` } type Node0Parameters struct { @@ -681,7 +721,7 @@ type Node0Parameters struct { // An object that has fields relevant to the vendor of the cluster device. See Cluster Details - Nodes - Vendor Configuration below for more details. // An object that has fields relevant to the vendor of the cluster device // +kubebuilder:validation:Optional - VendorConfiguration []VendorConfigurationParameters `json:"vendorConfiguration,omitempty" tf:"vendor_configuration,omitempty"` + VendorConfiguration *VendorConfigurationParameters `json:"vendorConfiguration,omitempty" tf:"vendor_configuration,omitempty"` } type Node1InitParameters struct { @@ -696,7 +736,7 @@ type Node1InitParameters struct { // Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress, privateAddress, privateCidrMask, privateGateway, licenseKey, licenseId, panoramaAuthKey, panoramaIpAddress) // An object that has fields relevant to the vendor of the cluster device - VendorConfiguration []Node1VendorConfigurationInitParameters `json:"vendorConfiguration,omitempty" tf:"vendor_configuration,omitempty"` + VendorConfiguration *Node1VendorConfigurationInitParameters `json:"vendorConfiguration,omitempty" tf:"vendor_configuration,omitempty"` } type Node1Observation struct { @@ -715,7 +755,7 @@ type Node1Observation struct { // Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress, privateAddress, privateCidrMask, privateGateway, licenseKey, licenseId, panoramaAuthKey, panoramaIpAddress) // An object that has fields relevant to the vendor of the cluster device - VendorConfiguration []Node1VendorConfigurationObservation `json:"vendorConfiguration,omitempty" tf:"vendor_configuration,omitempty"` + VendorConfiguration *Node1VendorConfigurationObservation `json:"vendorConfiguration,omitempty" tf:"vendor_configuration,omitempty"` } type Node1Parameters struct { @@ -733,7 +773,7 @@ type Node1Parameters struct { // Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress, privateAddress, privateCidrMask, privateGateway, licenseKey, licenseId, panoramaAuthKey, panoramaIpAddress) // An object that has fields relevant to the vendor of the cluster device // +kubebuilder:validation:Optional - VendorConfiguration []Node1VendorConfigurationParameters `json:"vendorConfiguration,omitempty" tf:"vendor_configuration,omitempty"` + VendorConfiguration *Node1VendorConfigurationParameters `json:"vendorConfiguration,omitempty" tf:"vendor_configuration,omitempty"` } type Node1VendorConfigurationInitParameters struct { @@ -930,8 +970,18 @@ type SecondaryDeviceInitParameters struct { // Identifier of a cloud init file that will be applied on a secondary device. // Unique identifier of applied cloud init file + // +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/network/v1alpha1.File + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("uuid",true) CloudInitFileID *string `json:"cloudInitFileId,omitempty" tf:"cloud_init_file_id,omitempty"` + // Reference to a File in network to populate cloudInitFileId. + // +kubebuilder:validation:Optional + CloudInitFileIDRef *v1.Reference `json:"cloudInitFileIdRef,omitempty" tf:"-"` + + // Selector for a File in network to populate cloudInitFileId. + // +kubebuilder:validation:Optional + CloudInitFileIDSelector *v1.Selector `json:"cloudInitFileIdSelector,omitempty" tf:"-"` + // Secondary device hostname. // Device hostname prefix Hostname *string `json:"hostname,omitempty" tf:"hostname,omitempty"` @@ -966,7 +1016,7 @@ type SecondaryDeviceInitParameters struct { Notifications []*string `json:"notifications,omitempty" tf:"notifications,omitempty"` // Definition of SSH key that will be provisioned on a device - SSHKey []SSHKeyInitParameters `json:"sshKey,omitempty" tf:"ssh_key,omitempty"` + SSHKey *SSHKeyInitParameters `json:"sshKey,omitempty" tf:"ssh_key,omitempty"` // Key/Value pairs of vendor specific configuration parameters for a secondary device. Key values are controller1, activationKey, managementType, siteId, systemIpAddress, privateAddress, privateCidrMask, privateGateway, licenseKey, licenseId, panoramaAuthKey, panoramaIpAddress. // Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress) @@ -1103,7 +1153,7 @@ type SecondaryDeviceObservation struct { SSHIPFqdn *string `json:"sshIpFqdn,omitempty" tf:"ssh_ip_fqdn,omitempty"` // Definition of SSH key that will be provisioned on a device - SSHKey []SSHKeyObservation `json:"sshKey,omitempty" tf:"ssh_key,omitempty"` + SSHKey *SSHKeyObservation `json:"sshKey,omitempty" tf:"ssh_key,omitempty"` // Device provisioning status. Possible values are INITIALIZING, PROVISIONING, WAITING_FOR_PRIMARY, WAITING_FOR_SECONDARY, WAITING_FOR_REPLICA_CLUSTER_NODES, CLUSTER_SETUP_IN_PROGRESS, FAILED, PROVISIONED, DEPROVISIONING, DEPROVISIONED, RESOURCE_UPGRADE_IN_PROGRESS, RESOURCE_UPGRADE_FAILED. // Device provisioning status @@ -1146,9 +1196,19 @@ type SecondaryDeviceParameters struct { // Identifier of a cloud init file that will be applied on a secondary device. // Unique identifier of applied cloud init file + // +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/network/v1alpha1.File + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("uuid",true) // +kubebuilder:validation:Optional CloudInitFileID *string `json:"cloudInitFileId,omitempty" tf:"cloud_init_file_id,omitempty"` + // Reference to a File in network to populate cloudInitFileId. + // +kubebuilder:validation:Optional + CloudInitFileIDRef *v1.Reference `json:"cloudInitFileIdRef,omitempty" tf:"-"` + + // Selector for a File in network to populate cloudInitFileId. + // +kubebuilder:validation:Optional + CloudInitFileIDSelector *v1.Selector `json:"cloudInitFileIdSelector,omitempty" tf:"-"` + // Secondary device hostname. // Device hostname prefix // +kubebuilder:validation:Optional @@ -1192,7 +1252,7 @@ type SecondaryDeviceParameters struct { // Definition of SSH key that will be provisioned on a device // +kubebuilder:validation:Optional - SSHKey []SSHKeyParameters `json:"sshKey,omitempty" tf:"ssh_key,omitempty"` + SSHKey *SSHKeyParameters `json:"sshKey,omitempty" tf:"ssh_key,omitempty"` // Key/Value pairs of vendor specific configuration parameters for a secondary device. Key values are controller1, activationKey, managementType, siteId, systemIpAddress, privateAddress, privateCidrMask, privateGateway, licenseKey, licenseId, panoramaAuthKey, panoramaIpAddress. // Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress) diff --git a/apis/network/v1alpha1/zz_devicelink_types.go b/apis/network/v1alpha1/zz_devicelink_types.go index 66be9fd..370812f 100755 --- a/apis/network/v1alpha1/zz_devicelink_types.go +++ b/apis/network/v1alpha1/zz_devicelink_types.go @@ -193,8 +193,18 @@ type LinkInitParameters struct { // billing account number to be used for connection charges // Billing account number to be used for connection charges + // +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/network/v1alpha1.Device + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("account_number",false) AccountNumber *string `json:"accountNumber,omitempty" tf:"account_number,omitempty"` + // Reference to a Device in network to populate accountNumber. + // +kubebuilder:validation:Optional + AccountNumberRef *v1.Reference `json:"accountNumberRef,omitempty" tf:"-"` + + // Selector for a Device in network to populate accountNumber. + // +kubebuilder:validation:Optional + AccountNumberSelector *v1.Selector `json:"accountNumberSelector,omitempty" tf:"-"` + // connection destination metro code. // Connection destination metro code DstMetroCode *string `json:"dstMetroCode,omitempty" tf:"dst_metro_code,omitempty"` @@ -205,8 +215,18 @@ type LinkInitParameters struct { // connection source metro code. // Connection source metro code + // +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/network/v1alpha1.Device + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("metro_code",false) SrcMetroCode *string `json:"srcMetroCode,omitempty" tf:"src_metro_code,omitempty"` + // Reference to a Device in network to populate srcMetroCode. + // +kubebuilder:validation:Optional + SrcMetroCodeRef *v1.Reference `json:"srcMetroCodeRef,omitempty" tf:"-"` + + // Selector for a Device in network to populate srcMetroCode. + // +kubebuilder:validation:Optional + SrcMetroCodeSelector *v1.Selector `json:"srcMetroCodeSelector,omitempty" tf:"-"` + // (Deprecated) connection source zone code is not required. // Connection source zone code SrcZoneCode *string `json:"srcZoneCode,omitempty" tf:"src_zone_code,omitempty"` @@ -255,8 +275,18 @@ type LinkParameters struct { // billing account number to be used for connection charges // Billing account number to be used for connection charges + // +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/network/v1alpha1.Device + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("account_number",false) // +kubebuilder:validation:Optional - AccountNumber *string `json:"accountNumber" tf:"account_number,omitempty"` + AccountNumber *string `json:"accountNumber,omitempty" tf:"account_number,omitempty"` + + // Reference to a Device in network to populate accountNumber. + // +kubebuilder:validation:Optional + AccountNumberRef *v1.Reference `json:"accountNumberRef,omitempty" tf:"-"` + + // Selector for a Device in network to populate accountNumber. + // +kubebuilder:validation:Optional + AccountNumberSelector *v1.Selector `json:"accountNumberSelector,omitempty" tf:"-"` // connection destination metro code. // Connection destination metro code @@ -270,8 +300,18 @@ type LinkParameters struct { // connection source metro code. // Connection source metro code + // +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/network/v1alpha1.Device + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("metro_code",false) + // +kubebuilder:validation:Optional + SrcMetroCode *string `json:"srcMetroCode,omitempty" tf:"src_metro_code,omitempty"` + + // Reference to a Device in network to populate srcMetroCode. + // +kubebuilder:validation:Optional + SrcMetroCodeRef *v1.Reference `json:"srcMetroCodeRef,omitempty" tf:"-"` + + // Selector for a Device in network to populate srcMetroCode. // +kubebuilder:validation:Optional - SrcMetroCode *string `json:"srcMetroCode" tf:"src_metro_code,omitempty"` + SrcMetroCodeSelector *v1.Selector `json:"srcMetroCodeSelector,omitempty" tf:"-"` // (Deprecated) connection source zone code is not required. // Connection source zone code diff --git a/apis/network/v1alpha1/zz_generated.deepcopy.go b/apis/network/v1alpha1/zz_generated.deepcopy.go index c5d8b12..f0c1146 100644 --- a/apis/network/v1alpha1/zz_generated.deepcopy.go +++ b/apis/network/v1alpha1/zz_generated.deepcopy.go @@ -531,17 +531,13 @@ func (in *ClusterDetailsInitParameters) DeepCopyInto(out *ClusterDetailsInitPara } if in.Node0 != nil { in, out := &in.Node0, &out.Node0 - *out = make([]Node0InitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(Node0InitParameters) + (*in).DeepCopyInto(*out) } if in.Node1 != nil { in, out := &in.Node1, &out.Node1 - *out = make([]Node1InitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(Node1InitParameters) + (*in).DeepCopyInto(*out) } } @@ -570,17 +566,13 @@ func (in *ClusterDetailsObservation) DeepCopyInto(out *ClusterDetailsObservation } if in.Node0 != nil { in, out := &in.Node0, &out.Node0 - *out = make([]Node0Observation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(Node0Observation) + (*in).DeepCopyInto(*out) } if in.Node1 != nil { in, out := &in.Node1, &out.Node1 - *out = make([]Node1Observation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(Node1Observation) + (*in).DeepCopyInto(*out) } if in.NumOfNodes != nil { in, out := &in.NumOfNodes, &out.NumOfNodes @@ -609,17 +601,13 @@ func (in *ClusterDetailsParameters) DeepCopyInto(out *ClusterDetailsParameters) } if in.Node0 != nil { in, out := &in.Node0, &out.Node0 - *out = make([]Node0Parameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(Node0Parameters) + (*in).DeepCopyInto(*out) } if in.Node1 != nil { in, out := &in.Node1, &out.Node1 - *out = make([]Node1Parameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(Node1Parameters) + (*in).DeepCopyInto(*out) } } @@ -748,12 +736,20 @@ func (in *DeviceInitParameters) DeepCopyInto(out *DeviceInitParameters) { *out = new(string) **out = **in } + if in.CloudInitFileIDRef != nil { + in, out := &in.CloudInitFileIDRef, &out.CloudInitFileIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.CloudInitFileIDSelector != nil { + in, out := &in.CloudInitFileIDSelector, &out.CloudInitFileIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.ClusterDetails != nil { in, out := &in.ClusterDetails, &out.ClusterDetails - *out = make([]ClusterDetailsInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(ClusterDetailsInitParameters) + (*in).DeepCopyInto(*out) } if in.Connectivity != nil { in, out := &in.Connectivity, &out.Connectivity @@ -843,17 +839,13 @@ func (in *DeviceInitParameters) DeepCopyInto(out *DeviceInitParameters) { } if in.SSHKey != nil { in, out := &in.SSHKey, &out.SSHKey - *out = make([]DeviceSSHKeyInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(DeviceSSHKeyInitParameters) + (*in).DeepCopyInto(*out) } if in.SecondaryDevice != nil { in, out := &in.SecondaryDevice, &out.SecondaryDevice - *out = make([]SecondaryDeviceInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(SecondaryDeviceInitParameters) + (*in).DeepCopyInto(*out) } if in.SelfManaged != nil { in, out := &in.SelfManaged, &out.SelfManaged @@ -1362,10 +1354,8 @@ func (in *DeviceObservation) DeepCopyInto(out *DeviceObservation) { } if in.ClusterDetails != nil { in, out := &in.ClusterDetails, &out.ClusterDetails - *out = make([]ClusterDetailsObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(ClusterDetailsObservation) + (*in).DeepCopyInto(*out) } if in.Connectivity != nil { in, out := &in.Connectivity, &out.Connectivity @@ -1507,17 +1497,13 @@ func (in *DeviceObservation) DeepCopyInto(out *DeviceObservation) { } if in.SSHKey != nil { in, out := &in.SSHKey, &out.SSHKey - *out = make([]DeviceSSHKeyObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(DeviceSSHKeyObservation) + (*in).DeepCopyInto(*out) } if in.SecondaryDevice != nil { in, out := &in.SecondaryDevice, &out.SecondaryDevice - *out = make([]SecondaryDeviceObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(SecondaryDeviceObservation) + (*in).DeepCopyInto(*out) } if in.SelfManaged != nil { in, out := &in.SelfManaged, &out.SelfManaged @@ -1625,12 +1611,20 @@ func (in *DeviceParameters) DeepCopyInto(out *DeviceParameters) { *out = new(string) **out = **in } + if in.CloudInitFileIDRef != nil { + in, out := &in.CloudInitFileIDRef, &out.CloudInitFileIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.CloudInitFileIDSelector != nil { + in, out := &in.CloudInitFileIDSelector, &out.CloudInitFileIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.ClusterDetails != nil { in, out := &in.ClusterDetails, &out.ClusterDetails - *out = make([]ClusterDetailsParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(ClusterDetailsParameters) + (*in).DeepCopyInto(*out) } if in.Connectivity != nil { in, out := &in.Connectivity, &out.Connectivity @@ -1720,17 +1714,13 @@ func (in *DeviceParameters) DeepCopyInto(out *DeviceParameters) { } if in.SSHKey != nil { in, out := &in.SSHKey, &out.SSHKey - *out = make([]DeviceSSHKeyParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(DeviceSSHKeyParameters) + (*in).DeepCopyInto(*out) } if in.SecondaryDevice != nil { in, out := &in.SecondaryDevice, &out.SecondaryDevice - *out = make([]SecondaryDeviceParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(SecondaryDeviceParameters) + (*in).DeepCopyInto(*out) } if in.SelfManaged != nil { in, out := &in.SelfManaged, &out.SelfManaged @@ -1803,6 +1793,16 @@ func (in *DeviceSSHKeyInitParameters) DeepCopyInto(out *DeviceSSHKeyInitParamete *out = new(string) **out = **in } + if in.KeyNameRef != nil { + in, out := &in.KeyNameRef, &out.KeyNameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.KeyNameSelector != nil { + in, out := &in.KeyNameSelector, &out.KeyNameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Username != nil { in, out := &in.Username, &out.Username *out = new(string) @@ -1853,6 +1853,16 @@ func (in *DeviceSSHKeyParameters) DeepCopyInto(out *DeviceSSHKeyParameters) { *out = new(string) **out = **in } + if in.KeyNameRef != nil { + in, out := &in.KeyNameRef, &out.KeyNameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.KeyNameSelector != nil { + in, out := &in.KeyNameSelector, &out.KeyNameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Username != nil { in, out := &in.Username, &out.Username *out = new(string) @@ -2407,6 +2417,16 @@ func (in *LinkInitParameters) DeepCopyInto(out *LinkInitParameters) { *out = new(string) **out = **in } + if in.AccountNumberRef != nil { + in, out := &in.AccountNumberRef, &out.AccountNumberRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.AccountNumberSelector != nil { + in, out := &in.AccountNumberSelector, &out.AccountNumberSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.DstMetroCode != nil { in, out := &in.DstMetroCode, &out.DstMetroCode *out = new(string) @@ -2422,6 +2442,16 @@ func (in *LinkInitParameters) DeepCopyInto(out *LinkInitParameters) { *out = new(string) **out = **in } + if in.SrcMetroCodeRef != nil { + in, out := &in.SrcMetroCodeRef, &out.SrcMetroCodeRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.SrcMetroCodeSelector != nil { + in, out := &in.SrcMetroCodeSelector, &out.SrcMetroCodeSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.SrcZoneCode != nil { in, out := &in.SrcZoneCode, &out.SrcZoneCode *out = new(string) @@ -2507,6 +2537,16 @@ func (in *LinkParameters) DeepCopyInto(out *LinkParameters) { *out = new(string) **out = **in } + if in.AccountNumberRef != nil { + in, out := &in.AccountNumberRef, &out.AccountNumberRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.AccountNumberSelector != nil { + in, out := &in.AccountNumberSelector, &out.AccountNumberSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.DstMetroCode != nil { in, out := &in.DstMetroCode, &out.DstMetroCode *out = new(string) @@ -2522,6 +2562,16 @@ func (in *LinkParameters) DeepCopyInto(out *LinkParameters) { *out = new(string) **out = **in } + if in.SrcMetroCodeRef != nil { + in, out := &in.SrcMetroCodeRef, &out.SrcMetroCodeRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.SrcMetroCodeSelector != nil { + in, out := &in.SrcMetroCodeSelector, &out.SrcMetroCodeSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.SrcZoneCode != nil { in, out := &in.SrcZoneCode, &out.SrcZoneCode *out = new(string) @@ -2669,10 +2719,8 @@ func (in *Node0InitParameters) DeepCopyInto(out *Node0InitParameters) { } if in.VendorConfiguration != nil { in, out := &in.VendorConfiguration, &out.VendorConfiguration - *out = make([]VendorConfigurationInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(VendorConfigurationInitParameters) + (*in).DeepCopyInto(*out) } } @@ -2706,10 +2754,8 @@ func (in *Node0Observation) DeepCopyInto(out *Node0Observation) { } if in.VendorConfiguration != nil { in, out := &in.VendorConfiguration, &out.VendorConfiguration - *out = make([]VendorConfigurationObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(VendorConfigurationObservation) + (*in).DeepCopyInto(*out) } } @@ -2738,10 +2784,8 @@ func (in *Node0Parameters) DeepCopyInto(out *Node0Parameters) { } if in.VendorConfiguration != nil { in, out := &in.VendorConfiguration, &out.VendorConfiguration - *out = make([]VendorConfigurationParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(VendorConfigurationParameters) + (*in).DeepCopyInto(*out) } } @@ -2770,10 +2814,8 @@ func (in *Node1InitParameters) DeepCopyInto(out *Node1InitParameters) { } if in.VendorConfiguration != nil { in, out := &in.VendorConfiguration, &out.VendorConfiguration - *out = make([]Node1VendorConfigurationInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(Node1VendorConfigurationInitParameters) + (*in).DeepCopyInto(*out) } } @@ -2807,10 +2849,8 @@ func (in *Node1Observation) DeepCopyInto(out *Node1Observation) { } if in.VendorConfiguration != nil { in, out := &in.VendorConfiguration, &out.VendorConfiguration - *out = make([]Node1VendorConfigurationObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(Node1VendorConfigurationObservation) + (*in).DeepCopyInto(*out) } } @@ -2839,10 +2879,8 @@ func (in *Node1Parameters) DeepCopyInto(out *Node1Parameters) { } if in.VendorConfiguration != nil { in, out := &in.VendorConfiguration, &out.VendorConfiguration - *out = make([]Node1VendorConfigurationParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(Node1VendorConfigurationParameters) + (*in).DeepCopyInto(*out) } } @@ -3572,6 +3610,16 @@ func (in *SecondaryDeviceInitParameters) DeepCopyInto(out *SecondaryDeviceInitPa *out = new(string) **out = **in } + if in.CloudInitFileIDRef != nil { + in, out := &in.CloudInitFileIDRef, &out.CloudInitFileIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.CloudInitFileIDSelector != nil { + in, out := &in.CloudInitFileIDSelector, &out.CloudInitFileIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Hostname != nil { in, out := &in.Hostname, &out.Hostname *out = new(string) @@ -3620,10 +3668,8 @@ func (in *SecondaryDeviceInitParameters) DeepCopyInto(out *SecondaryDeviceInitPa } if in.SSHKey != nil { in, out := &in.SSHKey, &out.SSHKey - *out = make([]SSHKeyInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(SSHKeyInitParameters) + (*in).DeepCopyInto(*out) } if in.VendorConfiguration != nil { in, out := &in.VendorConfiguration, &out.VendorConfiguration @@ -3866,10 +3912,8 @@ func (in *SecondaryDeviceObservation) DeepCopyInto(out *SecondaryDeviceObservati } if in.SSHKey != nil { in, out := &in.SSHKey, &out.SSHKey - *out = make([]SSHKeyObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(SSHKeyObservation) + (*in).DeepCopyInto(*out) } if in.Status != nil { in, out := &in.Status, &out.Status @@ -3942,6 +3986,16 @@ func (in *SecondaryDeviceParameters) DeepCopyInto(out *SecondaryDeviceParameters *out = new(string) **out = **in } + if in.CloudInitFileIDRef != nil { + in, out := &in.CloudInitFileIDRef, &out.CloudInitFileIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.CloudInitFileIDSelector != nil { + in, out := &in.CloudInitFileIDSelector, &out.CloudInitFileIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Hostname != nil { in, out := &in.Hostname, &out.Hostname *out = new(string) @@ -3990,10 +4044,8 @@ func (in *SecondaryDeviceParameters) DeepCopyInto(out *SecondaryDeviceParameters } if in.SSHKey != nil { in, out := &in.SSHKey, &out.SSHKey - *out = make([]SSHKeyParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + *out = new(SSHKeyParameters) + (*in).DeepCopyInto(*out) } if in.VendorConfiguration != nil { in, out := &in.VendorConfiguration, &out.VendorConfiguration diff --git a/apis/network/v1alpha1/zz_generated.resolvers.go b/apis/network/v1alpha1/zz_generated.resolvers.go new file mode 100644 index 0000000..4dd568b --- /dev/null +++ b/apis/network/v1alpha1/zz_generated.resolvers.go @@ -0,0 +1,224 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import ( + "context" + reference "github.com/crossplane/crossplane-runtime/pkg/reference" + resource "github.com/crossplane/upjet/pkg/resource" + errors "github.com/pkg/errors" + client "sigs.k8s.io/controller-runtime/pkg/client" +) + +// ResolveReferences of this Device. +func (mg *Device) ResolveReferences(ctx context.Context, c client.Reader) error { + r := reference.NewAPIResolver(c, mg) + + var rsp reference.ResolutionResponse + var err error + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.CloudInitFileID), + Extract: resource.ExtractParamPath("uuid", true), + Reference: mg.Spec.ForProvider.CloudInitFileIDRef, + Selector: mg.Spec.ForProvider.CloudInitFileIDSelector, + To: reference.To{ + List: &FileList{}, + Managed: &File{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.CloudInitFileID") + } + mg.Spec.ForProvider.CloudInitFileID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.CloudInitFileIDRef = rsp.ResolvedReference + + if mg.Spec.ForProvider.SSHKey != nil { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.SSHKey.KeyName), + Extract: resource.ExtractParamPath("name", false), + Reference: mg.Spec.ForProvider.SSHKey.KeyNameRef, + Selector: mg.Spec.ForProvider.SSHKey.KeyNameSelector, + To: reference.To{ + List: &SSHKeyList{}, + Managed: &SSHKey{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.SSHKey.KeyName") + } + mg.Spec.ForProvider.SSHKey.KeyName = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.SSHKey.KeyNameRef = rsp.ResolvedReference + + } + if mg.Spec.ForProvider.SecondaryDevice != nil { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.SecondaryDevice.CloudInitFileID), + Extract: resource.ExtractParamPath("uuid", true), + Reference: mg.Spec.ForProvider.SecondaryDevice.CloudInitFileIDRef, + Selector: mg.Spec.ForProvider.SecondaryDevice.CloudInitFileIDSelector, + To: reference.To{ + List: &FileList{}, + Managed: &File{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.SecondaryDevice.CloudInitFileID") + } + mg.Spec.ForProvider.SecondaryDevice.CloudInitFileID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.SecondaryDevice.CloudInitFileIDRef = rsp.ResolvedReference + + } + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.CloudInitFileID), + Extract: resource.ExtractParamPath("uuid", true), + Reference: mg.Spec.InitProvider.CloudInitFileIDRef, + Selector: mg.Spec.InitProvider.CloudInitFileIDSelector, + To: reference.To{ + List: &FileList{}, + Managed: &File{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.CloudInitFileID") + } + mg.Spec.InitProvider.CloudInitFileID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.CloudInitFileIDRef = rsp.ResolvedReference + + if mg.Spec.InitProvider.SSHKey != nil { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.SSHKey.KeyName), + Extract: resource.ExtractParamPath("name", false), + Reference: mg.Spec.InitProvider.SSHKey.KeyNameRef, + Selector: mg.Spec.InitProvider.SSHKey.KeyNameSelector, + To: reference.To{ + List: &SSHKeyList{}, + Managed: &SSHKey{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.SSHKey.KeyName") + } + mg.Spec.InitProvider.SSHKey.KeyName = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.SSHKey.KeyNameRef = rsp.ResolvedReference + + } + if mg.Spec.InitProvider.SecondaryDevice != nil { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.SecondaryDevice.CloudInitFileID), + Extract: resource.ExtractParamPath("uuid", true), + Reference: mg.Spec.InitProvider.SecondaryDevice.CloudInitFileIDRef, + Selector: mg.Spec.InitProvider.SecondaryDevice.CloudInitFileIDSelector, + To: reference.To{ + List: &FileList{}, + Managed: &File{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.SecondaryDevice.CloudInitFileID") + } + mg.Spec.InitProvider.SecondaryDevice.CloudInitFileID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.SecondaryDevice.CloudInitFileIDRef = rsp.ResolvedReference + + } + + return nil +} + +// ResolveReferences of this DeviceLink. +func (mg *DeviceLink) ResolveReferences(ctx context.Context, c client.Reader) error { + r := reference.NewAPIResolver(c, mg) + + var rsp reference.ResolutionResponse + var err error + + for i3 := 0; i3 < len(mg.Spec.ForProvider.Link); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.Link[i3].AccountNumber), + Extract: resource.ExtractParamPath("account_number", false), + Reference: mg.Spec.ForProvider.Link[i3].AccountNumberRef, + Selector: mg.Spec.ForProvider.Link[i3].AccountNumberSelector, + To: reference.To{ + List: &DeviceList{}, + Managed: &Device{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.Link[i3].AccountNumber") + } + mg.Spec.ForProvider.Link[i3].AccountNumber = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.Link[i3].AccountNumberRef = rsp.ResolvedReference + + } + for i3 := 0; i3 < len(mg.Spec.ForProvider.Link); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.Link[i3].SrcMetroCode), + Extract: resource.ExtractParamPath("metro_code", false), + Reference: mg.Spec.ForProvider.Link[i3].SrcMetroCodeRef, + Selector: mg.Spec.ForProvider.Link[i3].SrcMetroCodeSelector, + To: reference.To{ + List: &DeviceList{}, + Managed: &Device{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.Link[i3].SrcMetroCode") + } + mg.Spec.ForProvider.Link[i3].SrcMetroCode = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.Link[i3].SrcMetroCodeRef = rsp.ResolvedReference + + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Link); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Link[i3].AccountNumber), + Extract: resource.ExtractParamPath("account_number", false), + Reference: mg.Spec.InitProvider.Link[i3].AccountNumberRef, + Selector: mg.Spec.InitProvider.Link[i3].AccountNumberSelector, + To: reference.To{ + List: &DeviceList{}, + Managed: &Device{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Link[i3].AccountNumber") + } + mg.Spec.InitProvider.Link[i3].AccountNumber = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Link[i3].AccountNumberRef = rsp.ResolvedReference + + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Link); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Link[i3].SrcMetroCode), + Extract: resource.ExtractParamPath("metro_code", false), + Reference: mg.Spec.InitProvider.Link[i3].SrcMetroCodeRef, + Selector: mg.Spec.InitProvider.Link[i3].SrcMetroCodeSelector, + To: reference.To{ + List: &DeviceList{}, + Managed: &Device{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Link[i3].SrcMetroCode") + } + mg.Spec.InitProvider.Link[i3].SrcMetroCode = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Link[i3].SrcMetroCodeRef = rsp.ResolvedReference + + } + + return nil +} diff --git a/apis/v1alpha1/types.go b/apis/v1alpha1/types.go index 5108c3a..a4a34ad 100644 --- a/apis/v1alpha1/types.go +++ b/apis/v1alpha1/types.go @@ -130,7 +130,7 @@ type StoreConfigStatus struct { // +kubebuilder:object:root=true -// A StoreConfig configures how GCP controller should store connection details. +// A StoreConfig configures how Equinix controller should store connection details. // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:printcolumn:name="TYPE",type="string",JSONPath=".spec.type" // +kubebuilder:printcolumn:name="DEFAULT-SCOPE",type="string",JSONPath=".spec.defaultScope" diff --git a/cmd/generator/main.go b/cmd/generator/main.go index 794e76f..61d2431 100644 --- a/cmd/generator/main.go +++ b/cmd/generator/main.go @@ -1,29 +1,19 @@ -//go:build generate - -/* -Copyright 2021 The Crossplane Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ +// SPDX-FileCopyrightText: 2024 The Crossplane Authors +// +// SPDX-License-Identifier: Apache-2.0 package main import ( "context" + "encoding/json" "fmt" "os" "path/filepath" + "sort" + "strings" + ujconfig "github.com/crossplane/upjet/pkg/config" "github.com/crossplane/upjet/pkg/pipeline" "gopkg.in/alecthomas/kingpin.v2" @@ -31,14 +21,53 @@ import ( ) func main() { - if len(os.Args) < 2 || os.Args[1] == "" { - panic("root directory is required to be given as argument") - } - absRootDir, err := filepath.Abs(os.Args[1]) + var ( + app = kingpin.New("generator", "Run Upjet code generation pipelines for provider-jet-equinix").DefaultEnvars() + repoRoot = app.Arg("repo-root", "Root directory for the provider repository").Required().String() + skippedResourcesCSV = app.Flag("skipped-resources-csv", "File path where a list of skipped (not-generated) Terraform resource names will be stored as a CSV").Envar("SKIPPED_RESOURCES_CSV").String() + generatedResourceList = app.Flag("generated-resource-list", "File path where a list of the generated resources will be stored.").Envar("GENERATED_RESOURCE_LIST").Default("../config/generated.lst").String() + ) + kingpin.MustParse(app.Parse(os.Args[1:])) + + absRootDir, err := filepath.Abs(*repoRoot) if err != nil { - panic(fmt.Sprintf("cannot calculate the absolute path of %s", os.Args[1])) + panic(fmt.Sprintf("cannot calculate the absolute path with %s", *repoRoot)) } p, err := config.GetProvider(context.Background(), true) kingpin.FatalIfError(err, "Cannot initialize the provider configuration") + dumpGeneratedResourceList(p, generatedResourceList) + dumpSkippedResourcesCSV(p, skippedResourcesCSV) pipeline.Run(p, absRootDir) } + +func dumpGeneratedResourceList(p *ujconfig.Provider, targetPath *string) { + if len(*targetPath) == 0 { + return + } + generatedResources := make([]string, 0, len(p.Resources)) + for name := range p.Resources { + generatedResources = append(generatedResources, name) + } + sort.Strings(generatedResources) + // Indentation is not necessary, as it's a flat JSON array, but newlines prevent git conflicts from concurrent PRs + // adding new resources that are not alphabetically adjacent. + buff, err := json.MarshalIndent(generatedResources, "", "") + if err != nil { + panic(fmt.Sprintf("Cannot marshal native schema versions to JSON: %s", err.Error())) + } + if err := os.WriteFile(*targetPath, buff, 0o600); err != nil { + panic(fmt.Sprintf("Cannot write native schema versions of generated resources to file %s: %s", *targetPath, err.Error())) + } +} + +func dumpSkippedResourcesCSV(p *ujconfig.Provider, targetPath *string) { + if len(*targetPath) == 0 { + return + } + skippedCount := len(p.GetSkippedResourceNames()) + totalCount := skippedCount + len(p.Resources) + summaryLine := fmt.Sprintf("Available, skipped, total, coverage: %d, %d, %d, %.1f%%", len(p.Resources), skippedCount, totalCount, (float64(len(p.Resources))/float64(totalCount))*100) + if err := os.WriteFile(*targetPath, []byte(strings.Join(append([]string{summaryLine}, p.GetSkippedResourceNames()...), "\n")), 0o600); err != nil { + panic(fmt.Sprintf("Cannot write skipped resources CSV to file %s: %s", *targetPath, err.Error())) + } +} diff --git a/cmd/provider/main.go b/cmd/provider/main.go index 5cd3bb7..381a735 100644 --- a/cmd/provider/main.go +++ b/cmd/provider/main.go @@ -28,7 +28,9 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/feature" "github.com/crossplane/crossplane-runtime/pkg/logging" "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" upcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/terraform" "gopkg.in/alecthomas/kingpin.v2" @@ -38,6 +40,7 @@ import ( ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" "sigs.k8s.io/controller-runtime/pkg/log/zap" + "sigs.k8s.io/controller-runtime/pkg/metrics" "github.com/crossplane-contrib/provider-jet-equinix/apis" "github.com/crossplane-contrib/provider-jet-equinix/apis/v1alpha1" @@ -45,15 +48,18 @@ import ( "github.com/crossplane-contrib/provider-jet-equinix/internal/clients" "github.com/crossplane-contrib/provider-jet-equinix/internal/controller" "github.com/crossplane-contrib/provider-jet-equinix/internal/features" + equinixmetrics "github.com/crossplane-contrib/provider-jet-equinix/internal/metrics" ) func main() { var ( - app = kingpin.New(filepath.Base(os.Args[0]), "Terraform based Crossplane provider for Equinix").DefaultEnvars() - debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() - syncInterval = app.Flag("sync", "Sync interval controls how often all resources will be double checked for drift.").Short('s').Default("1h").Duration() - leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").OverrideDefaultFromEnvar("LEADER_ELECTION").Bool() - maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() + app = kingpin.New(filepath.Base(os.Args[0]), "Terraform based Crossplane provider for Equinix").DefaultEnvars() + debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() + syncInterval = app.Flag("sync", "Sync interval controls how often all resources will be double checked for drift.").Short('s').Default("1h").Duration() + pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").OverrideDefaultFromEnvar("LEADER_ELECTION").Bool() + pollStateMetricInterval = app.Flag("poll-state-metric", "State metric recording interval").Default("5s").Duration() + maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() namespace = app.Flag("namespace", "Namespace used to set as default scope in default secret store config.").Default("crossplane-system").Envar("POD_NAMESPACE").String() enableExternalSecretStores = app.Flag("enable-external-secret-stores", "Enable support for ExternalSecretStores.").Default("false").Envar("ENABLE_EXTERNAL_SECRET_STORES").Bool() @@ -71,12 +77,16 @@ func main() { ctrl.SetLogger(zl) } - log.Debug("Starting", "sync-period", syncInterval.String()) + // currently, we configure the jitter to be the 5% of the poll interval + pollJitter := time.Duration(float64(*pollInterval) * 0.05) + log.Debug("Starting", "sync-interval", syncInterval.String(), + "poll-interval", pollInterval.String(), "poll-jitter", pollJitter, "max-reconcile-rate", *maxReconcileRate) cfg, err := ctrl.GetConfig() kingpin.FatalIfError(err, "Cannot get API server rest config") + kingpin.FatalIfError(equinixmetrics.SetupMetrics(), "Cannot setup Linode metrics hook") - mgr, err := ctrl.NewManager(cfg, ctrl.Options{ + mgr, err := ctrl.NewManager(ratelimiter.LimitRESTConfig(cfg, *maxReconcileRate), ctrl.Options{ LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-jet-equinix", Cache: cache.Options{ @@ -87,8 +97,19 @@ func main() { RenewDeadline: func() *time.Duration { d := 50 * time.Second; return &d }(), }) kingpin.FatalIfError(err, "Cannot create controller manager") + + mm := managed.NewMRMetricRecorder() + sm := statemetrics.NewMRStateMetrics() + + metrics.Registry.MustRegister(mm) + metrics.Registry.MustRegister(sm) kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Equinix APIs to scheme") + mo := xpcontroller.MetricOptions{ + PollStateMetricInterval: *pollStateMetricInterval, + MRMetrics: mm, + MRStateMetrics: sm, + } ctx := context.Background() provider, err := config.GetProvider(ctx, false) kingpin.FatalIfError(err, "Cannot initialize the provider configuration") @@ -96,15 +117,17 @@ func main() { Options: xpcontroller.Options{ Logger: log, GlobalRateLimiter: ratelimiter.NewGlobal(*maxReconcileRate), - PollInterval: 1 * time.Minute, - MaxConcurrentReconciles: 1, + PollInterval: *pollInterval, + MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: &mo, }, Provider: provider, // use the following WorkspaceStoreOption to enable the shared gRPC mode // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) WorkspaceStore: terraform.NewWorkspaceStore(log), SetupFn: clients.TerraformSetupBuilder(provider.TerraformProvider), + PollJitter: pollJitter, OperationTrackerStore: upcontroller.NewOperationStore(log), } @@ -128,6 +151,7 @@ func main() { // Ensure default store config exists. kingpin.FatalIfError(resource.Ignore(kerrors.IsAlreadyExists, mgr.GetClient().Create(ctx, &v1alpha1.StoreConfig{ + TypeMeta: metav1.TypeMeta{}, ObjectMeta: metav1.ObjectMeta{ Name: "default", }, diff --git a/config/generated.lst b/config/generated.lst new file mode 100644 index 0000000..da5e80b --- /dev/null +++ b/config/generated.lst @@ -0,0 +1,34 @@ +[ +"equinix_fabric_cloud_router", +"equinix_fabric_connection", +"equinix_fabric_network", +"equinix_fabric_routing_protocol", +"equinix_fabric_service_profile", +"equinix_metal_bgp_session", +"equinix_metal_connection", +"equinix_metal_device", +"equinix_metal_device_network_type", +"equinix_metal_gateway", +"equinix_metal_ip_attachment", +"equinix_metal_organization", +"equinix_metal_organization_member", +"equinix_metal_port", +"equinix_metal_port_vlan_attachment", +"equinix_metal_project", +"equinix_metal_project_api_key", +"equinix_metal_project_ssh_key", +"equinix_metal_reserved_ip_block", +"equinix_metal_spot_market_request", +"equinix_metal_ssh_key", +"equinix_metal_user_api_key", +"equinix_metal_virtual_circuit", +"equinix_metal_vlan", +"equinix_metal_vrf", +"equinix_network_acl_template", +"equinix_network_bgp", +"equinix_network_device", +"equinix_network_device_link", +"equinix_network_file", +"equinix_network_ssh_key", +"equinix_network_ssh_user" +] \ No newline at end of file diff --git a/config/provider.go b/config/provider.go index 57b35f7..e8c086c 100644 --- a/config/provider.go +++ b/config/provider.go @@ -22,6 +22,7 @@ import ( _ "embed" upconfig "github.com/crossplane/upjet/pkg/config" + "github.com/crossplane/upjet/pkg/registry/reference" conversiontfjson "github.com/crossplane/upjet/pkg/types/conversion/tfjson" "github.com/equinix/terraform-provider-equinix/equinix" framework "github.com/equinix/terraform-provider-equinix/equinix/provider" @@ -77,23 +78,18 @@ func GetProvider(_ context.Context, generationProvider bool) (*upconfig.Provider fwProvider := framework.CreateFrameworkProvider(version.ProviderVersion) pc := upconfig.NewProvider([]byte(providerSchema), resourcePrefix, modulePath, []byte(providerMetadata), - upconfig.WithShortName("equinix"), + upconfig.WithShortName(resourcePrefix), upconfig.WithRootGroup("equinix.jet.crossplane.io"), - // upconfig.WithReferenceInjectors([]config.ReferenceInjector{reference.NewInjector("github.com/crossplane-contrib/provider-jet-equinix")}), - upconfig.WithDefaultResourceOptions( - KnownReferencers(), - IdentifierAssignedByEquinix(), - SkipOptCompLateInitialization(), - ), - upconfig.WithFeaturesPackage("internal/features"), - upconfig.WithTerraformProvider(p), - upconfig.WithTerraformPluginFrameworkProvider(fwProvider), upconfig.WithIncludeList([]string{ ".*", }), - upconfig.WithSkipList([]string{ - // ".*", // helpful when debugging to minimize the number of resources - }), + // + upconfig.WithReferenceInjectors([]upconfig.ReferenceInjector{reference.NewInjector(modulePath)}), + upconfig.WithFeaturesPackage("internal/features"), + upconfig.WithTerraformProvider(p), + upconfig.WithTerraformPluginFrameworkProvider(fwProvider), + upconfig.WithSchemaTraversers(&upconfig.SingletonListEmbedder{}), + // upconfig.WithSkipList([]string{".*"}), // helpful when debugging to minimize the number of resources // config.WithTerraformPluginSDKIncludeList(resourceList(terraformSDKIncludeList)), // config.WithTerraformPluginFrameworkIncludeList(resourceList(terraformPluginFrameworkExternalNameConfigs)), upconfig.WithBasePackages(upconfig.BasePackages{ @@ -106,6 +102,11 @@ func GetProvider(_ context.Context, generationProvider bool) (*upconfig.Provider "internal/controller/providerconfig", }, }), + upconfig.WithDefaultResourceOptions( + KnownReferencers(), + IdentifierAssignedByEquinix(), + SkipOptCompLateInitialization(), + ), ) for _, configure := range []func(provider *upconfig.Provider){ diff --git a/examples-generated/network/v1alpha1/devicelink.yaml b/examples-generated/network/v1alpha1/devicelink.yaml index 47170a2..ff4f2d5 100644 --- a/examples-generated/network/v1alpha1/devicelink.yaml +++ b/examples-generated/network/v1alpha1/devicelink.yaml @@ -18,9 +18,13 @@ spec: id: ${equinix_network_device.test.secondary_device[0].uuid} interfaceId: 7 link: - - accountNumber: ${equinix_network_device.test.account_number} + - accountNumberSelector: + matchLabels: + testing.upbound.io/example-name: test dstMetroCode: ${equinix_network_device.test.secondary_device[0].metro_code} - srcMetroCode: ${equinix_network_device.test.metro_code} + srcMetroCodeSelector: + matchLabels: + testing.upbound.io/example-name: test throughput: "50" throughputUnit: Mbps name: test-link diff --git a/go.mod b/go.mod index 0b6db32..df267cb 100644 --- a/go.mod +++ b/go.mod @@ -11,6 +11,7 @@ require ( github.com/hashicorp/terraform-json v0.22.1 github.com/hashicorp/terraform-plugin-sdk/v2 v2.34.0 github.com/pkg/errors v0.9.1 + github.com/prometheus/client_golang v1.18.0 gopkg.in/alecthomas/kingpin.v2 v2.2.6 k8s.io/apimachinery v0.29.1 k8s.io/client-go v0.29.1 @@ -102,7 +103,6 @@ require ( github.com/muvaf/typewriter v0.0.0-20220131201631-921e94e8e8d7 // indirect github.com/oklog/run v1.0.0 // indirect github.com/packethost/packngo v0.31.0 // indirect - github.com/prometheus/client_golang v1.18.0 // indirect github.com/prometheus/client_model v0.5.0 // indirect github.com/prometheus/common v0.45.0 // indirect github.com/prometheus/procfs v0.12.0 // indirect diff --git a/internal/metrics/metrics.go b/internal/metrics/metrics.go new file mode 100644 index 0000000..609a159 --- /dev/null +++ b/internal/metrics/metrics.go @@ -0,0 +1,46 @@ +package metrics + +import ( + "time" + + "github.com/prometheus/client_golang/prometheus" + + k8smetrics "sigs.k8s.io/controller-runtime/pkg/metrics" +) + +var ( + metricsEquinixApiResponseCodesTotal = prometheus.NewCounterVec(prometheus.CounterOpts{ + Name: "equinix_api_responses_total", + Help: "Number of Equinix API responses by return code and first 5 digits of the token", + }, []string{"service", "method", "code", "account"}) + + metricsEquinixApiResponseCodesLast5m = prometheus.NewCounterVec(prometheus.CounterOpts{ + Name: "equinix_api_responses_last_5m", + Help: "Number of Equinix API responses by return code and first 5 digits of the token", + }, []string{"service", "method", "code", "account"}) +) + +// SetupMetrics will register the known Prometheus metrics with controller-runtime's metrics registry +func SetupMetrics() error { + k8smetrics.Registry.MustRegister( + metricsEquinixApiResponseCodesTotal, + metricsEquinixApiResponseCodesLast5m, + ) + + go func() { + // Reset the counters every 5 minutes + ticker := time.NewTicker(5 * time.Minute) + for range ticker.C { + metricsEquinixApiResponseCodesLast5m.Reset() + } + }() + + return nil +} + +// IncEquinixAPIResp will increment the equinix_api_responses_total metric for the specified service, operation, and responseCode tuple +func IncEquinixAPIResp(service, method, code, account string) error { + metricsEquinixApiResponseCodesLast5m.WithLabelValues(service, method, code, account).Inc() + metricsEquinixApiResponseCodesTotal.WithLabelValues(service, method, code, account).Inc() + return nil +} diff --git a/package/crds/equinix.jet.crossplane.io_storeconfigs.yaml b/package/crds/equinix.jet.crossplane.io_storeconfigs.yaml index f7e358c..defe717 100644 --- a/package/crds/equinix.jet.crossplane.io_storeconfigs.yaml +++ b/package/crds/equinix.jet.crossplane.io_storeconfigs.yaml @@ -31,8 +31,8 @@ spec: name: v1alpha1 schema: openAPIV3Schema: - description: A StoreConfig configures how GCP controller should store connection - details. + description: A StoreConfig configures how Equinix controller should store + connection details. properties: apiVersion: description: |- diff --git a/package/crds/fabric.equinix.jet.crossplane.io_cloudrouters.yaml b/package/crds/fabric.equinix.jet.crossplane.io_cloudrouters.yaml index 33cd1f7..43db694 100644 --- a/package/crds/fabric.equinix.jet.crossplane.io_cloudrouters.yaml +++ b/package/crds/fabric.equinix.jet.crossplane.io_cloudrouters.yaml @@ -78,15 +78,13 @@ spec: description: |- (Block Set, Min: 1, Max: 1) Customer account information that is associated with this Fabric Cloud Router (see below for nested schema) Customer account information that is associated with this Fabric Cloud Router - items: - properties: - accountNumber: - description: |- - (Number) Account Number - Account Number - type: number - type: object - type: array + properties: + accountNumber: + description: |- + (Number) Account Number + Account Number + type: number + type: object description: description: |- provided Fabric Cloud Router description @@ -101,30 +99,28 @@ spec: description: |- (Block Set, Min: 1, Max: 1) Fabric Cloud Router location (see below for nested schema) Fabric Cloud Router location - items: - properties: - ibx: - description: |- - (String) IBX Code - IBX Code - type: string - metroCode: - description: |- - (String) Access point metro code - Access point metro code - type: string - metroName: - description: |- - (String) Access point metro name - Access point metro name - type: string - region: - description: |- - (String) Access point region - Access point region - type: string - type: object - type: array + properties: + ibx: + description: |- + (String) IBX Code + IBX Code + type: string + metroCode: + description: |- + (String) Access point metro code + Access point metro code + type: string + metroName: + description: |- + (String) Access point metro name + Access point metro name + type: string + region: + description: |- + (String) Access point region + Access point region + type: string + type: object name: description: |- numeric 24 characters string which can include only hyphens and underscores @@ -159,61 +155,55 @@ spec: description: |- (Block Set, Min: 1, Max: 1) Order information related to this Fabric Cloud Router (see below for nested schema) Order information related to this Fabric Cloud Router - items: - properties: - billingTier: - description: |- - (String) Billing tier for connection bandwidth - Billing tier for connection bandwidth - type: string - orderId: - description: |- - (String) Order Identification - Order Identification - type: string - orderNumber: - description: |- - (String) Order Reference Number - Order Reference Number - type: string - purchaseOrderNumber: - description: |- - (String) Purchase order number - Purchase order number - type: string - type: object - type: array + properties: + billingTier: + description: |- + (String) Billing tier for connection bandwidth + Billing tier for connection bandwidth + type: string + orderId: + description: |- + (String) Order Identification + Order Identification + type: string + orderNumber: + description: |- + (String) Order Reference Number + Order Reference Number + type: string + purchaseOrderNumber: + description: |- + (String) Purchase order number + Purchase order number + type: string + type: object package: description: |- (Block Set, Min: 1, Max: 1) Fabric Cloud Router Package Type (see below for nested schema) Fabric Cloud Router Package Type - items: - properties: - code: - description: |- - (String) Fabric Cloud Router package code - Fabric Cloud Router package code - type: string - type: object - type: array + properties: + code: + description: |- + (String) Fabric Cloud Router package code + Fabric Cloud Router package code + type: string + type: object project: description: |- (Block Set, Min: 1, Max: 1) Customer resource hierarchy project information. Applicable to customers onboarded to Equinix Identity and Access Management. For more information see Identity and Access Management: Projects (see below for nested schema) Customer resource hierarchy project information. Applicable to customers onboarded to Equinix Identity and Access Management. For more information see Identity and Access Management: Projects - items: - properties: - href: - description: |- - (String) Fabric Cloud Router URI information - Unique Resource URL - type: string - projectId: - description: |- - (String) Project Id - Project Id - type: string - type: object - type: array + properties: + href: + description: |- + (String) Fabric Cloud Router URI information + Unique Resource URL + type: string + projectId: + description: |- + (String) Project Id + Project Id + type: string + type: object type: description: |- (String) Defines the FCR type like; XF_ROUTER @@ -242,15 +232,13 @@ spec: description: |- (Block Set, Min: 1, Max: 1) Customer account information that is associated with this Fabric Cloud Router (see below for nested schema) Customer account information that is associated with this Fabric Cloud Router - items: - properties: - accountNumber: - description: |- - (Number) Account Number - Account Number - type: number - type: object - type: array + properties: + accountNumber: + description: |- + (Number) Account Number + Account Number + type: number + type: object description: description: |- provided Fabric Cloud Router description @@ -265,30 +253,28 @@ spec: description: |- (Block Set, Min: 1, Max: 1) Fabric Cloud Router location (see below for nested schema) Fabric Cloud Router location - items: - properties: - ibx: - description: |- - (String) IBX Code - IBX Code - type: string - metroCode: - description: |- - (String) Access point metro code - Access point metro code - type: string - metroName: - description: |- - (String) Access point metro name - Access point metro name - type: string - region: - description: |- - (String) Access point region - Access point region - type: string - type: object - type: array + properties: + ibx: + description: |- + (String) IBX Code + IBX Code + type: string + metroCode: + description: |- + (String) Access point metro code + Access point metro code + type: string + metroName: + description: |- + (String) Access point metro name + Access point metro name + type: string + region: + description: |- + (String) Access point region + Access point region + type: string + type: object name: description: |- numeric 24 characters string which can include only hyphens and underscores @@ -323,61 +309,55 @@ spec: description: |- (Block Set, Min: 1, Max: 1) Order information related to this Fabric Cloud Router (see below for nested schema) Order information related to this Fabric Cloud Router - items: - properties: - billingTier: - description: |- - (String) Billing tier for connection bandwidth - Billing tier for connection bandwidth - type: string - orderId: - description: |- - (String) Order Identification - Order Identification - type: string - orderNumber: - description: |- - (String) Order Reference Number - Order Reference Number - type: string - purchaseOrderNumber: - description: |- - (String) Purchase order number - Purchase order number - type: string - type: object - type: array + properties: + billingTier: + description: |- + (String) Billing tier for connection bandwidth + Billing tier for connection bandwidth + type: string + orderId: + description: |- + (String) Order Identification + Order Identification + type: string + orderNumber: + description: |- + (String) Order Reference Number + Order Reference Number + type: string + purchaseOrderNumber: + description: |- + (String) Purchase order number + Purchase order number + type: string + type: object package: description: |- (Block Set, Min: 1, Max: 1) Fabric Cloud Router Package Type (see below for nested schema) Fabric Cloud Router Package Type - items: - properties: - code: - description: |- - (String) Fabric Cloud Router package code - Fabric Cloud Router package code - type: string - type: object - type: array + properties: + code: + description: |- + (String) Fabric Cloud Router package code + Fabric Cloud Router package code + type: string + type: object project: description: |- (Block Set, Min: 1, Max: 1) Customer resource hierarchy project information. Applicable to customers onboarded to Equinix Identity and Access Management. For more information see Identity and Access Management: Projects (see below for nested schema) Customer resource hierarchy project information. Applicable to customers onboarded to Equinix Identity and Access Management. For more information see Identity and Access Management: Projects - items: - properties: - href: - description: |- - (String) Fabric Cloud Router URI information - Unique Resource URL - type: string - projectId: - description: |- - (String) Project Id - Project Id - type: string - type: object - type: array + properties: + href: + description: |- + (String) Fabric Cloud Router URI information + Unique Resource URL + type: string + projectId: + description: |- + (String) Project Id + Project Id + type: string + type: object type: description: |- (String) Defines the FCR type like; XF_ROUTER @@ -594,15 +574,13 @@ spec: description: |- (Block Set, Min: 1, Max: 1) Customer account information that is associated with this Fabric Cloud Router (see below for nested schema) Customer account information that is associated with this Fabric Cloud Router - items: - properties: - accountNumber: - description: |- - (Number) Account Number - Account Number - type: number - type: object - type: array + properties: + accountNumber: + description: |- + (Number) Account Number + Account Number + type: number + type: object bgpIpv4RoutesCount: description: |- distinct prefixes) @@ -694,30 +672,28 @@ spec: description: |- (Block Set, Min: 1, Max: 1) Fabric Cloud Router location (see below for nested schema) Fabric Cloud Router location - items: - properties: - ibx: - description: |- - (String) IBX Code - IBX Code - type: string - metroCode: - description: |- - (String) Access point metro code - Access point metro code - type: string - metroName: - description: |- - (String) Access point metro name - Access point metro name - type: string - region: - description: |- - (String) Access point region - Access point region - type: string - type: object - type: array + properties: + ibx: + description: |- + (String) IBX Code + IBX Code + type: string + metroCode: + description: |- + (String) Access point metro code + Access point metro code + type: string + metroName: + description: |- + (String) Access point metro name + Access point metro name + type: string + region: + description: |- + (String) Access point region + Access point region + type: string + type: object name: description: |- numeric 24 characters string which can include only hyphens and underscores @@ -752,61 +728,55 @@ spec: description: |- (Block Set, Min: 1, Max: 1) Order information related to this Fabric Cloud Router (see below for nested schema) Order information related to this Fabric Cloud Router - items: - properties: - billingTier: - description: |- - (String) Billing tier for connection bandwidth - Billing tier for connection bandwidth - type: string - orderId: - description: |- - (String) Order Identification - Order Identification - type: string - orderNumber: - description: |- - (String) Order Reference Number - Order Reference Number - type: string - purchaseOrderNumber: - description: |- - (String) Purchase order number - Purchase order number - type: string - type: object - type: array + properties: + billingTier: + description: |- + (String) Billing tier for connection bandwidth + Billing tier for connection bandwidth + type: string + orderId: + description: |- + (String) Order Identification + Order Identification + type: string + orderNumber: + description: |- + (String) Order Reference Number + Order Reference Number + type: string + purchaseOrderNumber: + description: |- + (String) Purchase order number + Purchase order number + type: string + type: object package: description: |- (Block Set, Min: 1, Max: 1) Fabric Cloud Router Package Type (see below for nested schema) Fabric Cloud Router Package Type - items: - properties: - code: - description: |- - (String) Fabric Cloud Router package code - Fabric Cloud Router package code - type: string - type: object - type: array + properties: + code: + description: |- + (String) Fabric Cloud Router package code + Fabric Cloud Router package code + type: string + type: object project: description: |- (Block Set, Min: 1, Max: 1) Customer resource hierarchy project information. Applicable to customers onboarded to Equinix Identity and Access Management. For more information see Identity and Access Management: Projects (see below for nested schema) Customer resource hierarchy project information. Applicable to customers onboarded to Equinix Identity and Access Management. For more information see Identity and Access Management: Projects - items: - properties: - href: - description: |- - (String) Fabric Cloud Router URI information - Unique Resource URL - type: string - projectId: - description: |- - (String) Project Id - Project Id - type: string - type: object - type: array + properties: + href: + description: |- + (String) Fabric Cloud Router URI information + Unique Resource URL + type: string + projectId: + description: |- + (String) Project Id + Project Id + type: string + type: object state: description: |- (String) Fabric Cloud Router overall state diff --git a/package/crds/fabric.equinix.jet.crossplane.io_connections.yaml b/package/crds/fabric.equinix.jet.crossplane.io_connections.yaml index bc5cd7c..2dfa4c5 100644 --- a/package/crds/fabric.equinix.jet.crossplane.io_connections.yaml +++ b/package/crds/fabric.equinix.jet.crossplane.io_connections.yaml @@ -77,253 +77,229 @@ spec: description: |- segment connection (see below for nested schema) Requester or Customer side connection configuration object of the multi-segment connection - items: - properties: - accessPoint: - description: |- - (Block Set, Max: 1) Point of access details (see below for nested schema) - Point of access details - items: + properties: + accessPoint: + description: |- + (Block Set, Max: 1) Point of access details (see below for nested schema) + Point of access details + properties: + account: + description: |- + (Set of Object) Customer account information that is associated with this connection (see below for nested schema) + Account + items: + type: object + type: array + authenticationKey: + description: |- + (String) Authentication key for provider based connections + Authentication key for provider based connections + type: string + gateway: + description: |- + (Block Set, Max: 1, Deprecated) Deprecated gateway Use router attribute instead (see below for nested schema) + **Deprecated** `gateway` Use `router` attribute instead properties: - account: + uuid: description: |- - (Set of Object) Customer account information that is associated with this connection (see below for nested schema) - Account - items: - type: object - type: array - authenticationKey: + assigned connection identifier + Equinix-assigned virtual gateway identifier + type: string + type: object + interface: + description: |- + (Block Set, Max: 1) Virtual device interface (see below for nested schema) + Virtual device interface + properties: + id: description: |- - (String) Authentication key for provider based connections - Authentication key for provider based connections + (String) The ID of this resource. + id + type: number + type: + description: |- + (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC + Interface type type: string - gateway: + uuid: description: |- - (Block Set, Max: 1, Deprecated) Deprecated gateway Use router attribute instead (see below for nested schema) - **Deprecated** `gateway` Use `router` attribute instead - items: - properties: - uuid: - description: |- - assigned connection identifier - Equinix-assigned virtual gateway identifier - type: string - type: object - type: array - interface: + assigned connection identifier + Equinix-assigned interface identifier + type: string + type: object + linkProtocol: + description: |- + (Block Set, Max: 1) Connection link protocol (see below for nested schema) + Connection link protocol + properties: + type: description: |- - (Block Set, Max: 1) Virtual device interface (see below for nested schema) - Virtual device interface - items: - properties: - id: - description: |- - (String) The ID of this resource. - id - type: number - type: - description: |- - (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC - Interface type - type: string - uuid: - description: |- - assigned connection identifier - Equinix-assigned interface identifier - type: string - type: object - type: array - linkProtocol: + (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC + Type of the link protocol - UNTAGGED, DOT1Q, QINQ, EVPN_VXLAN + type: string + vlanCTag: description: |- - (Block Set, Max: 1) Connection link protocol (see below for nested schema) - Connection link protocol - items: - properties: - type: - description: |- - (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC - Type of the link protocol - UNTAGGED, DOT1Q, QINQ, EVPN_VXLAN - type: string - vlanCTag: - description: |- - (Number) Vlan Customer Tag information, vlanCTag value specified for QINQ connections - Vlan Customer Tag information, vlanCTag value specified for QINQ connections - type: number - vlanSTag: - description: |- - (Number) Vlan Provider Tag information, vlanSTag value specified for QINQ connections - Vlan Provider Tag information, vlanSTag value specified for QINQ connections - type: number - vlanTag: - description: |- - (Number) Vlan Tag information, vlanTag value specified for DOT1Q connections - Vlan Tag information, vlanTag value specified for DOT1Q connections - type: number - type: object - type: array - location: + (Number) Vlan Customer Tag information, vlanCTag value specified for QINQ connections + Vlan Customer Tag information, vlanCTag value specified for QINQ connections + type: number + vlanSTag: description: |- - (Block Set, Max: 1) Access point location (see below for nested schema) - Access point location - items: - properties: - ibx: - description: |- - (String) IBX Code - IBX Code - type: string - metroCode: - description: |- - (String) Access point metro code - Access point metro code - type: string - metroName: - description: |- - (String) Access point metro name - Access point metro name - type: string - region: - description: |- - (String) Access point region - Access point region - type: string - type: object - type: array - network: + (Number) Vlan Provider Tag information, vlanSTag value specified for QINQ connections + Vlan Provider Tag information, vlanSTag value specified for QINQ connections + type: number + vlanTag: description: |- - (Block Set, Max: 1) network access point information (see below for nested schema) - network access point information - items: - properties: - uuid: - description: |- - assigned connection identifier - Equinix-assigned Network identifier - type: string - type: object - type: array - peeringType: + (Number) Vlan Tag information, vlanTag value specified for DOT1Q connections + Vlan Tag information, vlanTag value specified for DOT1Q connections + type: number + type: object + location: + description: |- + (Block Set, Max: 1) Access point location (see below for nested schema) + Access point location + properties: + ibx: description: |- - PRIVATE,MICROSOFT,PUBLIC, MANUAL - Peering Type- PRIVATE,MICROSOFT,PUBLIC, MANUAL + (String) IBX Code + IBX Code type: string - port: + metroCode: description: |- - (Block Set, Max: 1) Port access point information (see below for nested schema) - Port access point information - items: - properties: - uuid: - description: |- - assigned connection identifier - Equinix-assigned Port identifier - type: string - type: object - type: array - profile: + (String) Access point metro code + Access point metro code + type: string + metroName: description: |- - (Block Set, Max: 1) Service Profile (see below for nested schema) - Service Profile - items: - properties: - type: - description: |- - (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC - Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE - type: string - uuid: - description: |- - assigned connection identifier - Equinix assigned service profile identifier - type: string - type: object - type: array - router: + (String) Access point metro name + Access point metro name + type: string + region: description: |- - (Block Set, Max: 1) Cloud Router access point information that replaces gateway (see below for nested schema) - Cloud Router access point information that replaces `gateway` - items: - properties: - uuid: - description: |- - assigned connection identifier - Equinix-assigned virtual gateway identifier - type: string - type: object - type: array - sellerRegion: + (String) Access point region + Access point region + type: string + type: object + network: + description: |- + (Block Set, Max: 1) network access point information (see below for nested schema) + network access point information + properties: + uuid: description: |- - (String) Access point seller region - Access point seller region + assigned connection identifier + Equinix-assigned Network identifier type: string + type: object + peeringType: + description: |- + PRIVATE,MICROSOFT,PUBLIC, MANUAL + Peering Type- PRIVATE,MICROSOFT,PUBLIC, MANUAL + type: string + port: + description: |- + (Block Set, Max: 1) Port access point information (see below for nested schema) + Port access point information + properties: + uuid: + description: |- + assigned connection identifier + Equinix-assigned Port identifier + type: string + type: object + profile: + description: |- + (Block Set, Max: 1) Service Profile (see below for nested schema) + Service Profile + properties: type: description: |- (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC - Access point type - COLO, VD, VG, SP, IGW, SUBNET, CLOUD_ROUTER, NETWORK + Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE type: string - virtualDevice: + uuid: description: |- - (Block Set, Max: 1) Virtual device (see below for nested schema) - Virtual device - items: - properties: - name: - description: |- - numeric 24 characters string which can include only hyphens and underscores - Customer-assigned Virtual Device Name - type: string - type: - description: |- - (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC - Virtual Device type - type: string - uuid: - description: |- - assigned connection identifier - Equinix-assigned Virtual Device identifier - type: string - type: object - type: array + assigned connection identifier + Equinix assigned service profile identifier + type: string type: object - type: array - additionalInfo: - description: |- - (List of Map of String) Connection additional information - Connection side additional information - items: + router: + description: |- + (Block Set, Max: 1) Cloud Router access point information that replaces gateway (see below for nested schema) + Cloud Router access point information that replaces `gateway` properties: - key: - description: |- - (String) Additional information key - Additional information key - type: string - value: + uuid: description: |- - (String) Additional information value - Additional information value + assigned connection identifier + Equinix-assigned virtual gateway identifier type: string type: object - type: array - serviceToken: - description: |- - (Block Set, Max: 1) For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets (see below for nested schema) - For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets - items: + sellerRegion: + description: |- + (String) Access point seller region + Access point seller region + type: string + type: + description: |- + (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC + Access point type - COLO, VD, VG, SP, IGW, SUBNET, CLOUD_ROUTER, NETWORK + type: string + virtualDevice: + description: |- + (Block Set, Max: 1) Virtual device (see below for nested schema) + Virtual device properties: + name: + description: |- + numeric 24 characters string which can include only hyphens and underscores + Customer-assigned Virtual Device Name + type: string type: description: |- (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC - Token type - VC_TOKEN + Virtual Device type type: string uuid: description: |- assigned connection identifier - Equinix-assigned service token identifier + Equinix-assigned Virtual Device identifier type: string type: object - type: array - type: object - type: array + type: object + additionalInfo: + description: |- + (List of Map of String) Connection additional information + Connection side additional information + items: + properties: + key: + description: |- + (String) Additional information key + Additional information key + type: string + value: + description: |- + (String) Additional information value + Additional information value + type: string + type: object + type: array + serviceToken: + description: |- + (Block Set, Max: 1) For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets (see below for nested schema) + For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets + properties: + type: + description: |- + (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC + Token type - VC_TOKEN + type: string + uuid: + description: |- + assigned connection identifier + Equinix-assigned service token identifier + type: string + type: object + type: object additionalInfo: description: |- (List of Map of String) Connection additional information @@ -377,61 +353,55 @@ spec: description: |- (Block Set, Min: 1, Max: 1) Order details (see below for nested schema) Order details - items: - properties: - billingTier: - description: |- - (String) Billing tier for connection bandwidth - Billing tier for connection bandwidth - type: string - orderId: - description: |- - (String) Order Identification - Order Identification - type: string - orderNumber: - description: |- - (String) Order Reference Number - Order Reference Number - type: string - purchaseOrderNumber: - description: |- - (String) Purchase order number - Purchase order number - type: string - type: object - type: array + properties: + billingTier: + description: |- + (String) Billing tier for connection bandwidth + Billing tier for connection bandwidth + type: string + orderId: + description: |- + (String) Order Identification + Order Identification + type: string + orderNumber: + description: |- + (String) Order Reference Number + Order Reference Number + type: string + purchaseOrderNumber: + description: |- + (String) Purchase order number + Purchase order number + type: string + type: object project: description: |- (Block Set, Max: 1) Project information (see below for nested schema) Project information - items: - properties: - projectId: - description: |- - (String) Project Id - Project Id - type: string - type: object - type: array + properties: + projectId: + description: |- + (String) Project Id + Project Id + type: string + type: object redundancy: description: |- (Block Set, Max: 1) Connection Redundancy Configuration (see below for nested schema) Connection Redundancy Configuration - items: - properties: - group: - description: |- - (String) - Redundancy group identifier (Use the redundancy.0.group UUID of primary connection; e.g. one(equinix_fabric_connection.primary_port_connection.redundancy).group or equinix_fabric_connection.primary_port_connection.redundancy.0.group) - type: string - priority: - description: |- - (String) - Connection priority in redundancy group - PRIMARY, SECONDARY - type: string - type: object - type: array + properties: + group: + description: |- + (String) + Redundancy group identifier (Use the redundancy.0.group UUID of primary connection; e.g. one(equinix_fabric_connection.primary_port_connection.redundancy).group or equinix_fabric_connection.primary_port_connection.redundancy.0.group) + type: string + priority: + description: |- + (String) + Connection priority in redundancy group - PRIMARY, SECONDARY + type: string + type: object type: description: |- (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC @@ -441,253 +411,229 @@ spec: description: |- segment connection (see below for nested schema) Destination or Provider side connection configuration object of the multi-segment connection - items: - properties: - accessPoint: - description: |- - (Block Set, Max: 1) Point of access details (see below for nested schema) - Point of access details - items: + properties: + accessPoint: + description: |- + (Block Set, Max: 1) Point of access details (see below for nested schema) + Point of access details + properties: + account: + description: |- + (Set of Object) Customer account information that is associated with this connection (see below for nested schema) + Account + items: + type: object + type: array + authenticationKey: + description: |- + (String) Authentication key for provider based connections + Authentication key for provider based connections + type: string + gateway: + description: |- + (Block Set, Max: 1, Deprecated) Deprecated gateway Use router attribute instead (see below for nested schema) + **Deprecated** `gateway` Use `router` attribute instead properties: - account: + uuid: description: |- - (Set of Object) Customer account information that is associated with this connection (see below for nested schema) - Account - items: - type: object - type: array - authenticationKey: + assigned connection identifier + Equinix-assigned virtual gateway identifier + type: string + type: object + interface: + description: |- + (Block Set, Max: 1) Virtual device interface (see below for nested schema) + Virtual device interface + properties: + id: description: |- - (String) Authentication key for provider based connections - Authentication key for provider based connections + (String) The ID of this resource. + id + type: number + type: + description: |- + (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC + Interface type type: string - gateway: + uuid: description: |- - (Block Set, Max: 1, Deprecated) Deprecated gateway Use router attribute instead (see below for nested schema) - **Deprecated** `gateway` Use `router` attribute instead - items: - properties: - uuid: - description: |- - assigned connection identifier - Equinix-assigned virtual gateway identifier - type: string - type: object - type: array - interface: + assigned connection identifier + Equinix-assigned interface identifier + type: string + type: object + linkProtocol: + description: |- + (Block Set, Max: 1) Connection link protocol (see below for nested schema) + Connection link protocol + properties: + type: description: |- - (Block Set, Max: 1) Virtual device interface (see below for nested schema) - Virtual device interface - items: - properties: - id: - description: |- - (String) The ID of this resource. - id - type: number - type: - description: |- - (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC - Interface type - type: string - uuid: - description: |- - assigned connection identifier - Equinix-assigned interface identifier - type: string - type: object - type: array - linkProtocol: + (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC + Type of the link protocol - UNTAGGED, DOT1Q, QINQ, EVPN_VXLAN + type: string + vlanCTag: description: |- - (Block Set, Max: 1) Connection link protocol (see below for nested schema) - Connection link protocol - items: - properties: - type: - description: |- - (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC - Type of the link protocol - UNTAGGED, DOT1Q, QINQ, EVPN_VXLAN - type: string - vlanCTag: - description: |- - (Number) Vlan Customer Tag information, vlanCTag value specified for QINQ connections - Vlan Customer Tag information, vlanCTag value specified for QINQ connections - type: number - vlanSTag: - description: |- - (Number) Vlan Provider Tag information, vlanSTag value specified for QINQ connections - Vlan Provider Tag information, vlanSTag value specified for QINQ connections - type: number - vlanTag: - description: |- - (Number) Vlan Tag information, vlanTag value specified for DOT1Q connections - Vlan Tag information, vlanTag value specified for DOT1Q connections - type: number - type: object - type: array - location: + (Number) Vlan Customer Tag information, vlanCTag value specified for QINQ connections + Vlan Customer Tag information, vlanCTag value specified for QINQ connections + type: number + vlanSTag: description: |- - (Block Set, Max: 1) Access point location (see below for nested schema) - Access point location - items: - properties: - ibx: - description: |- - (String) IBX Code - IBX Code - type: string - metroCode: - description: |- - (String) Access point metro code - Access point metro code - type: string - metroName: - description: |- - (String) Access point metro name - Access point metro name - type: string - region: - description: |- - (String) Access point region - Access point region - type: string - type: object - type: array - network: + (Number) Vlan Provider Tag information, vlanSTag value specified for QINQ connections + Vlan Provider Tag information, vlanSTag value specified for QINQ connections + type: number + vlanTag: description: |- - (Block Set, Max: 1) network access point information (see below for nested schema) - network access point information - items: - properties: - uuid: - description: |- - assigned connection identifier - Equinix-assigned Network identifier - type: string - type: object - type: array - peeringType: + (Number) Vlan Tag information, vlanTag value specified for DOT1Q connections + Vlan Tag information, vlanTag value specified for DOT1Q connections + type: number + type: object + location: + description: |- + (Block Set, Max: 1) Access point location (see below for nested schema) + Access point location + properties: + ibx: description: |- - PRIVATE,MICROSOFT,PUBLIC, MANUAL - Peering Type- PRIVATE,MICROSOFT,PUBLIC, MANUAL + (String) IBX Code + IBX Code type: string - port: + metroCode: description: |- - (Block Set, Max: 1) Port access point information (see below for nested schema) - Port access point information - items: - properties: - uuid: - description: |- - assigned connection identifier - Equinix-assigned Port identifier - type: string - type: object - type: array - profile: + (String) Access point metro code + Access point metro code + type: string + metroName: description: |- - (Block Set, Max: 1) Service Profile (see below for nested schema) - Service Profile - items: - properties: - type: - description: |- - (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC - Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE - type: string - uuid: - description: |- - assigned connection identifier - Equinix assigned service profile identifier - type: string - type: object - type: array - router: + (String) Access point metro name + Access point metro name + type: string + region: description: |- - (Block Set, Max: 1) Cloud Router access point information that replaces gateway (see below for nested schema) - Cloud Router access point information that replaces `gateway` - items: - properties: - uuid: - description: |- - assigned connection identifier - Equinix-assigned virtual gateway identifier - type: string - type: object - type: array - sellerRegion: + (String) Access point region + Access point region + type: string + type: object + network: + description: |- + (Block Set, Max: 1) network access point information (see below for nested schema) + network access point information + properties: + uuid: + description: |- + assigned connection identifier + Equinix-assigned Network identifier + type: string + type: object + peeringType: + description: |- + PRIVATE,MICROSOFT,PUBLIC, MANUAL + Peering Type- PRIVATE,MICROSOFT,PUBLIC, MANUAL + type: string + port: + description: |- + (Block Set, Max: 1) Port access point information (see below for nested schema) + Port access point information + properties: + uuid: description: |- - (String) Access point seller region - Access point seller region + assigned connection identifier + Equinix-assigned Port identifier type: string + type: object + profile: + description: |- + (Block Set, Max: 1) Service Profile (see below for nested schema) + Service Profile + properties: type: description: |- (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC - Access point type - COLO, VD, VG, SP, IGW, SUBNET, CLOUD_ROUTER, NETWORK + Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE type: string - virtualDevice: + uuid: description: |- - (Block Set, Max: 1) Virtual device (see below for nested schema) - Virtual device - items: - properties: - name: - description: |- - numeric 24 characters string which can include only hyphens and underscores - Customer-assigned Virtual Device Name - type: string - type: - description: |- - (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC - Virtual Device type - type: string - uuid: - description: |- - assigned connection identifier - Equinix-assigned Virtual Device identifier - type: string - type: object - type: array + assigned connection identifier + Equinix assigned service profile identifier + type: string type: object - type: array - additionalInfo: - description: |- - (List of Map of String) Connection additional information - Connection side additional information - items: + router: + description: |- + (Block Set, Max: 1) Cloud Router access point information that replaces gateway (see below for nested schema) + Cloud Router access point information that replaces `gateway` properties: - key: - description: |- - (String) Additional information key - Additional information key - type: string - value: + uuid: description: |- - (String) Additional information value - Additional information value + assigned connection identifier + Equinix-assigned virtual gateway identifier type: string type: object - type: array - serviceToken: - description: |- - (Block Set, Max: 1) For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets (see below for nested schema) - For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets - items: + sellerRegion: + description: |- + (String) Access point seller region + Access point seller region + type: string + type: + description: |- + (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC + Access point type - COLO, VD, VG, SP, IGW, SUBNET, CLOUD_ROUTER, NETWORK + type: string + virtualDevice: + description: |- + (Block Set, Max: 1) Virtual device (see below for nested schema) + Virtual device properties: + name: + description: |- + numeric 24 characters string which can include only hyphens and underscores + Customer-assigned Virtual Device Name + type: string type: description: |- (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC - Token type - VC_TOKEN + Virtual Device type type: string uuid: description: |- assigned connection identifier - Equinix-assigned service token identifier + Equinix-assigned Virtual Device identifier type: string type: object - type: array - type: object - type: array + type: object + additionalInfo: + description: |- + (List of Map of String) Connection additional information + Connection side additional information + items: + properties: + key: + description: |- + (String) Additional information key + Additional information key + type: string + value: + description: |- + (String) Additional information value + Additional information value + type: string + type: object + type: array + serviceToken: + description: |- + (Block Set, Max: 1) For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets (see below for nested schema) + For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets + properties: + type: + description: |- + (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC + Token type - VC_TOKEN + type: string + uuid: + description: |- + assigned connection identifier + Equinix-assigned service token identifier + type: string + type: object + type: object type: object initProvider: description: |- @@ -706,253 +652,229 @@ spec: description: |- segment connection (see below for nested schema) Requester or Customer side connection configuration object of the multi-segment connection - items: - properties: - accessPoint: - description: |- - (Block Set, Max: 1) Point of access details (see below for nested schema) - Point of access details - items: + properties: + accessPoint: + description: |- + (Block Set, Max: 1) Point of access details (see below for nested schema) + Point of access details + properties: + account: + description: |- + (Set of Object) Customer account information that is associated with this connection (see below for nested schema) + Account + items: + type: object + type: array + authenticationKey: + description: |- + (String) Authentication key for provider based connections + Authentication key for provider based connections + type: string + gateway: + description: |- + (Block Set, Max: 1, Deprecated) Deprecated gateway Use router attribute instead (see below for nested schema) + **Deprecated** `gateway` Use `router` attribute instead + properties: + uuid: + description: |- + assigned connection identifier + Equinix-assigned virtual gateway identifier + type: string + type: object + interface: + description: |- + (Block Set, Max: 1) Virtual device interface (see below for nested schema) + Virtual device interface properties: - account: + id: description: |- - (Set of Object) Customer account information that is associated with this connection (see below for nested schema) - Account - items: - type: object - type: array - authenticationKey: + (String) The ID of this resource. + id + type: number + type: description: |- - (String) Authentication key for provider based connections - Authentication key for provider based connections + (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC + Interface type type: string - gateway: + uuid: description: |- - (Block Set, Max: 1, Deprecated) Deprecated gateway Use router attribute instead (see below for nested schema) - **Deprecated** `gateway` Use `router` attribute instead - items: - properties: - uuid: - description: |- - assigned connection identifier - Equinix-assigned virtual gateway identifier - type: string - type: object - type: array - interface: + assigned connection identifier + Equinix-assigned interface identifier + type: string + type: object + linkProtocol: + description: |- + (Block Set, Max: 1) Connection link protocol (see below for nested schema) + Connection link protocol + properties: + type: description: |- - (Block Set, Max: 1) Virtual device interface (see below for nested schema) - Virtual device interface - items: - properties: - id: - description: |- - (String) The ID of this resource. - id - type: number - type: - description: |- - (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC - Interface type - type: string - uuid: - description: |- - assigned connection identifier - Equinix-assigned interface identifier - type: string - type: object - type: array - linkProtocol: + (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC + Type of the link protocol - UNTAGGED, DOT1Q, QINQ, EVPN_VXLAN + type: string + vlanCTag: description: |- - (Block Set, Max: 1) Connection link protocol (see below for nested schema) - Connection link protocol - items: - properties: - type: - description: |- - (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC - Type of the link protocol - UNTAGGED, DOT1Q, QINQ, EVPN_VXLAN - type: string - vlanCTag: - description: |- - (Number) Vlan Customer Tag information, vlanCTag value specified for QINQ connections - Vlan Customer Tag information, vlanCTag value specified for QINQ connections - type: number - vlanSTag: - description: |- - (Number) Vlan Provider Tag information, vlanSTag value specified for QINQ connections - Vlan Provider Tag information, vlanSTag value specified for QINQ connections - type: number - vlanTag: - description: |- - (Number) Vlan Tag information, vlanTag value specified for DOT1Q connections - Vlan Tag information, vlanTag value specified for DOT1Q connections - type: number - type: object - type: array - location: + (Number) Vlan Customer Tag information, vlanCTag value specified for QINQ connections + Vlan Customer Tag information, vlanCTag value specified for QINQ connections + type: number + vlanSTag: description: |- - (Block Set, Max: 1) Access point location (see below for nested schema) - Access point location - items: - properties: - ibx: - description: |- - (String) IBX Code - IBX Code - type: string - metroCode: - description: |- - (String) Access point metro code - Access point metro code - type: string - metroName: - description: |- - (String) Access point metro name - Access point metro name - type: string - region: - description: |- - (String) Access point region - Access point region - type: string - type: object - type: array - network: + (Number) Vlan Provider Tag information, vlanSTag value specified for QINQ connections + Vlan Provider Tag information, vlanSTag value specified for QINQ connections + type: number + vlanTag: description: |- - (Block Set, Max: 1) network access point information (see below for nested schema) - network access point information - items: - properties: - uuid: - description: |- - assigned connection identifier - Equinix-assigned Network identifier - type: string - type: object - type: array - peeringType: + (Number) Vlan Tag information, vlanTag value specified for DOT1Q connections + Vlan Tag information, vlanTag value specified for DOT1Q connections + type: number + type: object + location: + description: |- + (Block Set, Max: 1) Access point location (see below for nested schema) + Access point location + properties: + ibx: description: |- - PRIVATE,MICROSOFT,PUBLIC, MANUAL - Peering Type- PRIVATE,MICROSOFT,PUBLIC, MANUAL + (String) IBX Code + IBX Code type: string - port: + metroCode: description: |- - (Block Set, Max: 1) Port access point information (see below for nested schema) - Port access point information - items: - properties: - uuid: - description: |- - assigned connection identifier - Equinix-assigned Port identifier - type: string - type: object - type: array - profile: + (String) Access point metro code + Access point metro code + type: string + metroName: description: |- - (Block Set, Max: 1) Service Profile (see below for nested schema) - Service Profile - items: - properties: - type: - description: |- - (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC - Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE - type: string - uuid: - description: |- - assigned connection identifier - Equinix assigned service profile identifier - type: string - type: object - type: array - router: + (String) Access point metro name + Access point metro name + type: string + region: description: |- - (Block Set, Max: 1) Cloud Router access point information that replaces gateway (see below for nested schema) - Cloud Router access point information that replaces `gateway` - items: - properties: - uuid: - description: |- - assigned connection identifier - Equinix-assigned virtual gateway identifier - type: string - type: object - type: array - sellerRegion: + (String) Access point region + Access point region + type: string + type: object + network: + description: |- + (Block Set, Max: 1) network access point information (see below for nested schema) + network access point information + properties: + uuid: + description: |- + assigned connection identifier + Equinix-assigned Network identifier + type: string + type: object + peeringType: + description: |- + PRIVATE,MICROSOFT,PUBLIC, MANUAL + Peering Type- PRIVATE,MICROSOFT,PUBLIC, MANUAL + type: string + port: + description: |- + (Block Set, Max: 1) Port access point information (see below for nested schema) + Port access point information + properties: + uuid: description: |- - (String) Access point seller region - Access point seller region + assigned connection identifier + Equinix-assigned Port identifier type: string + type: object + profile: + description: |- + (Block Set, Max: 1) Service Profile (see below for nested schema) + Service Profile + properties: type: description: |- (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC - Access point type - COLO, VD, VG, SP, IGW, SUBNET, CLOUD_ROUTER, NETWORK + Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE type: string - virtualDevice: + uuid: description: |- - (Block Set, Max: 1) Virtual device (see below for nested schema) - Virtual device - items: - properties: - name: - description: |- - numeric 24 characters string which can include only hyphens and underscores - Customer-assigned Virtual Device Name - type: string - type: - description: |- - (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC - Virtual Device type - type: string - uuid: - description: |- - assigned connection identifier - Equinix-assigned Virtual Device identifier - type: string - type: object - type: array + assigned connection identifier + Equinix assigned service profile identifier + type: string type: object - type: array - additionalInfo: - description: |- - (List of Map of String) Connection additional information - Connection side additional information - items: + router: + description: |- + (Block Set, Max: 1) Cloud Router access point information that replaces gateway (see below for nested schema) + Cloud Router access point information that replaces `gateway` properties: - key: - description: |- - (String) Additional information key - Additional information key - type: string - value: + uuid: description: |- - (String) Additional information value - Additional information value + assigned connection identifier + Equinix-assigned virtual gateway identifier type: string type: object - type: array - serviceToken: - description: |- - (Block Set, Max: 1) For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets (see below for nested schema) - For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets - items: + sellerRegion: + description: |- + (String) Access point seller region + Access point seller region + type: string + type: + description: |- + (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC + Access point type - COLO, VD, VG, SP, IGW, SUBNET, CLOUD_ROUTER, NETWORK + type: string + virtualDevice: + description: |- + (Block Set, Max: 1) Virtual device (see below for nested schema) + Virtual device properties: + name: + description: |- + numeric 24 characters string which can include only hyphens and underscores + Customer-assigned Virtual Device Name + type: string type: description: |- (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC - Token type - VC_TOKEN + Virtual Device type type: string uuid: description: |- assigned connection identifier - Equinix-assigned service token identifier + Equinix-assigned Virtual Device identifier type: string type: object - type: array - type: object - type: array + type: object + additionalInfo: + description: |- + (List of Map of String) Connection additional information + Connection side additional information + items: + properties: + key: + description: |- + (String) Additional information key + Additional information key + type: string + value: + description: |- + (String) Additional information value + Additional information value + type: string + type: object + type: array + serviceToken: + description: |- + (Block Set, Max: 1) For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets (see below for nested schema) + For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets + properties: + type: + description: |- + (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC + Token type - VC_TOKEN + type: string + uuid: + description: |- + assigned connection identifier + Equinix-assigned service token identifier + type: string + type: object + type: object additionalInfo: description: |- (List of Map of String) Connection additional information @@ -1006,61 +928,55 @@ spec: description: |- (Block Set, Min: 1, Max: 1) Order details (see below for nested schema) Order details - items: - properties: - billingTier: - description: |- - (String) Billing tier for connection bandwidth - Billing tier for connection bandwidth - type: string - orderId: - description: |- - (String) Order Identification - Order Identification - type: string - orderNumber: - description: |- - (String) Order Reference Number - Order Reference Number - type: string - purchaseOrderNumber: - description: |- - (String) Purchase order number - Purchase order number - type: string - type: object - type: array + properties: + billingTier: + description: |- + (String) Billing tier for connection bandwidth + Billing tier for connection bandwidth + type: string + orderId: + description: |- + (String) Order Identification + Order Identification + type: string + orderNumber: + description: |- + (String) Order Reference Number + Order Reference Number + type: string + purchaseOrderNumber: + description: |- + (String) Purchase order number + Purchase order number + type: string + type: object project: description: |- (Block Set, Max: 1) Project information (see below for nested schema) Project information - items: - properties: - projectId: - description: |- - (String) Project Id - Project Id - type: string - type: object - type: array + properties: + projectId: + description: |- + (String) Project Id + Project Id + type: string + type: object redundancy: description: |- (Block Set, Max: 1) Connection Redundancy Configuration (see below for nested schema) Connection Redundancy Configuration - items: - properties: - group: - description: |- - (String) - Redundancy group identifier (Use the redundancy.0.group UUID of primary connection; e.g. one(equinix_fabric_connection.primary_port_connection.redundancy).group or equinix_fabric_connection.primary_port_connection.redundancy.0.group) - type: string - priority: - description: |- - (String) - Connection priority in redundancy group - PRIMARY, SECONDARY - type: string - type: object - type: array + properties: + group: + description: |- + (String) + Redundancy group identifier (Use the redundancy.0.group UUID of primary connection; e.g. one(equinix_fabric_connection.primary_port_connection.redundancy).group or equinix_fabric_connection.primary_port_connection.redundancy.0.group) + type: string + priority: + description: |- + (String) + Connection priority in redundancy group - PRIMARY, SECONDARY + type: string + type: object type: description: |- (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC @@ -1070,253 +986,229 @@ spec: description: |- segment connection (see below for nested schema) Destination or Provider side connection configuration object of the multi-segment connection - items: - properties: - accessPoint: - description: |- - (Block Set, Max: 1) Point of access details (see below for nested schema) - Point of access details - items: + properties: + accessPoint: + description: |- + (Block Set, Max: 1) Point of access details (see below for nested schema) + Point of access details + properties: + account: + description: |- + (Set of Object) Customer account information that is associated with this connection (see below for nested schema) + Account + items: + type: object + type: array + authenticationKey: + description: |- + (String) Authentication key for provider based connections + Authentication key for provider based connections + type: string + gateway: + description: |- + (Block Set, Max: 1, Deprecated) Deprecated gateway Use router attribute instead (see below for nested schema) + **Deprecated** `gateway` Use `router` attribute instead + properties: + uuid: + description: |- + assigned connection identifier + Equinix-assigned virtual gateway identifier + type: string + type: object + interface: + description: |- + (Block Set, Max: 1) Virtual device interface (see below for nested schema) + Virtual device interface properties: - account: + id: description: |- - (Set of Object) Customer account information that is associated with this connection (see below for nested schema) - Account - items: - type: object - type: array - authenticationKey: + (String) The ID of this resource. + id + type: number + type: description: |- - (String) Authentication key for provider based connections - Authentication key for provider based connections + (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC + Interface type type: string - gateway: + uuid: description: |- - (Block Set, Max: 1, Deprecated) Deprecated gateway Use router attribute instead (see below for nested schema) - **Deprecated** `gateway` Use `router` attribute instead - items: - properties: - uuid: - description: |- - assigned connection identifier - Equinix-assigned virtual gateway identifier - type: string - type: object - type: array - interface: + assigned connection identifier + Equinix-assigned interface identifier + type: string + type: object + linkProtocol: + description: |- + (Block Set, Max: 1) Connection link protocol (see below for nested schema) + Connection link protocol + properties: + type: description: |- - (Block Set, Max: 1) Virtual device interface (see below for nested schema) - Virtual device interface - items: - properties: - id: - description: |- - (String) The ID of this resource. - id - type: number - type: - description: |- - (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC - Interface type - type: string - uuid: - description: |- - assigned connection identifier - Equinix-assigned interface identifier - type: string - type: object - type: array - linkProtocol: + (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC + Type of the link protocol - UNTAGGED, DOT1Q, QINQ, EVPN_VXLAN + type: string + vlanCTag: description: |- - (Block Set, Max: 1) Connection link protocol (see below for nested schema) - Connection link protocol - items: - properties: - type: - description: |- - (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC - Type of the link protocol - UNTAGGED, DOT1Q, QINQ, EVPN_VXLAN - type: string - vlanCTag: - description: |- - (Number) Vlan Customer Tag information, vlanCTag value specified for QINQ connections - Vlan Customer Tag information, vlanCTag value specified for QINQ connections - type: number - vlanSTag: - description: |- - (Number) Vlan Provider Tag information, vlanSTag value specified for QINQ connections - Vlan Provider Tag information, vlanSTag value specified for QINQ connections - type: number - vlanTag: - description: |- - (Number) Vlan Tag information, vlanTag value specified for DOT1Q connections - Vlan Tag information, vlanTag value specified for DOT1Q connections - type: number - type: object - type: array - location: + (Number) Vlan Customer Tag information, vlanCTag value specified for QINQ connections + Vlan Customer Tag information, vlanCTag value specified for QINQ connections + type: number + vlanSTag: description: |- - (Block Set, Max: 1) Access point location (see below for nested schema) - Access point location - items: - properties: - ibx: - description: |- - (String) IBX Code - IBX Code - type: string - metroCode: - description: |- - (String) Access point metro code - Access point metro code - type: string - metroName: - description: |- - (String) Access point metro name - Access point metro name - type: string - region: - description: |- - (String) Access point region - Access point region - type: string - type: object - type: array - network: + (Number) Vlan Provider Tag information, vlanSTag value specified for QINQ connections + Vlan Provider Tag information, vlanSTag value specified for QINQ connections + type: number + vlanTag: description: |- - (Block Set, Max: 1) network access point information (see below for nested schema) - network access point information - items: - properties: - uuid: - description: |- - assigned connection identifier - Equinix-assigned Network identifier - type: string - type: object - type: array - peeringType: + (Number) Vlan Tag information, vlanTag value specified for DOT1Q connections + Vlan Tag information, vlanTag value specified for DOT1Q connections + type: number + type: object + location: + description: |- + (Block Set, Max: 1) Access point location (see below for nested schema) + Access point location + properties: + ibx: description: |- - PRIVATE,MICROSOFT,PUBLIC, MANUAL - Peering Type- PRIVATE,MICROSOFT,PUBLIC, MANUAL + (String) IBX Code + IBX Code type: string - port: - description: |- - (Block Set, Max: 1) Port access point information (see below for nested schema) - Port access point information - items: - properties: - uuid: - description: |- - assigned connection identifier - Equinix-assigned Port identifier - type: string - type: object - type: array - profile: + metroCode: description: |- - (Block Set, Max: 1) Service Profile (see below for nested schema) - Service Profile - items: - properties: - type: - description: |- - (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC - Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE - type: string - uuid: - description: |- - assigned connection identifier - Equinix assigned service profile identifier - type: string - type: object - type: array - router: + (String) Access point metro code + Access point metro code + type: string + metroName: description: |- - (Block Set, Max: 1) Cloud Router access point information that replaces gateway (see below for nested schema) - Cloud Router access point information that replaces `gateway` - items: - properties: - uuid: - description: |- - assigned connection identifier - Equinix-assigned virtual gateway identifier - type: string - type: object - type: array - sellerRegion: + (String) Access point metro name + Access point metro name + type: string + region: description: |- - (String) Access point seller region - Access point seller region + (String) Access point region + Access point region type: string - type: + type: object + network: + description: |- + (Block Set, Max: 1) network access point information (see below for nested schema) + network access point information + properties: + uuid: description: |- - (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC - Access point type - COLO, VD, VG, SP, IGW, SUBNET, CLOUD_ROUTER, NETWORK + assigned connection identifier + Equinix-assigned Network identifier type: string - virtualDevice: + type: object + peeringType: + description: |- + PRIVATE,MICROSOFT,PUBLIC, MANUAL + Peering Type- PRIVATE,MICROSOFT,PUBLIC, MANUAL + type: string + port: + description: |- + (Block Set, Max: 1) Port access point information (see below for nested schema) + Port access point information + properties: + uuid: description: |- - (Block Set, Max: 1) Virtual device (see below for nested schema) - Virtual device - items: - properties: - name: - description: |- - numeric 24 characters string which can include only hyphens and underscores - Customer-assigned Virtual Device Name - type: string - type: - description: |- - (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC - Virtual Device type - type: string - uuid: - description: |- - assigned connection identifier - Equinix-assigned Virtual Device identifier - type: string - type: object - type: array + assigned connection identifier + Equinix-assigned Port identifier + type: string type: object - type: array - additionalInfo: - description: |- - (List of Map of String) Connection additional information - Connection side additional information - items: + profile: + description: |- + (Block Set, Max: 1) Service Profile (see below for nested schema) + Service Profile properties: - key: + type: + description: |- + (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC + Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE + type: string + uuid: description: |- - (String) Additional information key - Additional information key + assigned connection identifier + Equinix assigned service profile identifier type: string - value: + type: object + router: + description: |- + (Block Set, Max: 1) Cloud Router access point information that replaces gateway (see below for nested schema) + Cloud Router access point information that replaces `gateway` + properties: + uuid: description: |- - (String) Additional information value - Additional information value + assigned connection identifier + Equinix-assigned virtual gateway identifier type: string type: object - type: array - serviceToken: - description: |- - (Block Set, Max: 1) For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets (see below for nested schema) - For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets - items: + sellerRegion: + description: |- + (String) Access point seller region + Access point seller region + type: string + type: + description: |- + (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC + Access point type - COLO, VD, VG, SP, IGW, SUBNET, CLOUD_ROUTER, NETWORK + type: string + virtualDevice: + description: |- + (Block Set, Max: 1) Virtual device (see below for nested schema) + Virtual device properties: + name: + description: |- + numeric 24 characters string which can include only hyphens and underscores + Customer-assigned Virtual Device Name + type: string type: description: |- (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC - Token type - VC_TOKEN + Virtual Device type type: string uuid: description: |- assigned connection identifier - Equinix-assigned service token identifier + Equinix-assigned Virtual Device identifier type: string type: object - type: array - type: object - type: array + type: object + additionalInfo: + description: |- + (List of Map of String) Connection additional information + Connection side additional information + items: + properties: + key: + description: |- + (String) Additional information key + Additional information key + type: string + value: + description: |- + (String) Additional information value + Additional information value + type: string + type: object + type: array + serviceToken: + description: |- + (Block Set, Max: 1) For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets (see below for nested schema) + For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets + properties: + type: + description: |- + (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC + Token type - VC_TOKEN + type: string + uuid: + description: |- + assigned connection identifier + Equinix-assigned service token identifier + type: string + type: object + type: object type: object managementPolicies: default: @@ -1519,388 +1411,364 @@ spec: description: |- segment connection (see below for nested schema) Requester or Customer side connection configuration object of the multi-segment connection - items: - properties: - accessPoint: - description: |- - (Block Set, Max: 1) Point of access details (see below for nested schema) - Point of access details - items: + properties: + accessPoint: + description: |- + (Block Set, Max: 1) Point of access details (see below for nested schema) + Point of access details + properties: + account: + description: |- + (Set of Object) Customer account information that is associated with this connection (see below for nested schema) + Account + items: + properties: + accountName: + description: |- + (String) Legal name of the accountholder. + Legal name of the accountholder. + type: string + accountNumber: + description: |- + assigned account number. + Equinix-assigned account number. + type: number + globalCustId: + description: |- + assigned ID of the subscriber's parent organization. + Equinix-assigned ID of the subscriber's parent organization. + type: string + globalOrgId: + description: |- + assigned ID of the subscriber's parent organization. + Equinix-assigned ID of the subscriber's parent organization. + type: string + globalOrganizationName: + description: |- + assigned name of the subscriber's parent organization. + Equinix-assigned name of the subscriber's parent organization. + type: string + orgId: + description: |- + assigned ID of the subscriber's organization. + Equinix-assigned ID of the subscriber's organization. + type: number + organizationName: + description: |- + assigned name of the subscriber's organization. + Equinix-assigned name of the subscriber's organization. + type: string + ucmId: + description: |- + (String) Enterprise datastore id + Enterprise datastore id + type: string + type: object + type: array + authenticationKey: + description: |- + (String) Authentication key for provider based connections + Authentication key for provider based connections + type: string + gateway: + description: |- + (Block Set, Max: 1, Deprecated) Deprecated gateway Use router attribute instead (see below for nested schema) + **Deprecated** `gateway` Use `router` attribute instead properties: - account: + href: description: |- - (Set of Object) Customer account information that is associated with this connection (see below for nested schema) - Account - items: - properties: - accountName: - description: |- - (String) Legal name of the accountholder. - Legal name of the accountholder. - type: string - accountNumber: - description: |- - assigned account number. - Equinix-assigned account number. - type: number - globalCustId: - description: |- - assigned ID of the subscriber's parent organization. - Equinix-assigned ID of the subscriber's parent organization. - type: string - globalOrgId: - description: |- - assigned ID of the subscriber's parent organization. - Equinix-assigned ID of the subscriber's parent organization. - type: string - globalOrganizationName: - description: |- - assigned name of the subscriber's parent organization. - Equinix-assigned name of the subscriber's parent organization. - type: string - orgId: - description: |- - assigned ID of the subscriber's organization. - Equinix-assigned ID of the subscriber's organization. - type: number - organizationName: - description: |- - assigned name of the subscriber's organization. - Equinix-assigned name of the subscriber's organization. - type: string - ucmId: - description: |- - (String) Enterprise datastore id - Enterprise datastore id - type: string - type: object - type: array - authenticationKey: + (String) Connection URI information + Unique Resource Identifier + type: string + uuid: description: |- - (String) Authentication key for provider based connections - Authentication key for provider based connections + assigned connection identifier + Equinix-assigned virtual gateway identifier type: string - gateway: + type: object + interface: + description: |- + (Block Set, Max: 1) Virtual device interface (see below for nested schema) + Virtual device interface + properties: + id: description: |- - (Block Set, Max: 1, Deprecated) Deprecated gateway Use router attribute instead (see below for nested schema) - **Deprecated** `gateway` Use `router` attribute instead - items: - properties: - href: - description: |- - (String) Connection URI information - Unique Resource Identifier - type: string - uuid: - description: |- - assigned connection identifier - Equinix-assigned virtual gateway identifier - type: string - type: object - type: array - interface: + (String) The ID of this resource. + id + type: number + type: description: |- - (Block Set, Max: 1) Virtual device interface (see below for nested schema) - Virtual device interface - items: - properties: - id: - description: |- - (String) The ID of this resource. - id - type: number - type: - description: |- - (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC - Interface type - type: string - uuid: - description: |- - assigned connection identifier - Equinix-assigned interface identifier - type: string - type: object - type: array - linkProtocol: + (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC + Interface type + type: string + uuid: description: |- - (Block Set, Max: 1) Connection link protocol (see below for nested schema) - Connection link protocol - items: - properties: - type: - description: |- - (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC - Type of the link protocol - UNTAGGED, DOT1Q, QINQ, EVPN_VXLAN - type: string - vlanCTag: - description: |- - (Number) Vlan Customer Tag information, vlanCTag value specified for QINQ connections - Vlan Customer Tag information, vlanCTag value specified for QINQ connections - type: number - vlanSTag: - description: |- - (Number) Vlan Provider Tag information, vlanSTag value specified for QINQ connections - Vlan Provider Tag information, vlanSTag value specified for QINQ connections - type: number - vlanTag: - description: |- - (Number) Vlan Tag information, vlanTag value specified for DOT1Q connections - Vlan Tag information, vlanTag value specified for DOT1Q connections - type: number - type: object - type: array - location: + assigned connection identifier + Equinix-assigned interface identifier + type: string + type: object + linkProtocol: + description: |- + (Block Set, Max: 1) Connection link protocol (see below for nested schema) + Connection link protocol + properties: + type: description: |- - (Block Set, Max: 1) Access point location (see below for nested schema) - Access point location - items: - properties: - ibx: - description: |- - (String) IBX Code - IBX Code - type: string - metroCode: - description: |- - (String) Access point metro code - Access point metro code - type: string - metroName: - description: |- - (String) Access point metro name - Access point metro name - type: string - region: - description: |- - (String) Access point region - Access point region - type: string - type: object - type: array - network: + (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC + Type of the link protocol - UNTAGGED, DOT1Q, QINQ, EVPN_VXLAN + type: string + vlanCTag: description: |- - (Block Set, Max: 1) network access point information (see below for nested schema) - network access point information - items: - properties: - href: - description: |- - (String) Connection URI information - Unique Resource Identifier - type: string - uuid: - description: |- - assigned connection identifier - Equinix-assigned Network identifier - type: string - type: object - type: array - peeringType: + (Number) Vlan Customer Tag information, vlanCTag value specified for QINQ connections + Vlan Customer Tag information, vlanCTag value specified for QINQ connections + type: number + vlanSTag: + description: |- + (Number) Vlan Provider Tag information, vlanSTag value specified for QINQ connections + Vlan Provider Tag information, vlanSTag value specified for QINQ connections + type: number + vlanTag: + description: |- + (Number) Vlan Tag information, vlanTag value specified for DOT1Q connections + Vlan Tag information, vlanTag value specified for DOT1Q connections + type: number + type: object + location: + description: |- + (Block Set, Max: 1) Access point location (see below for nested schema) + Access point location + properties: + ibx: description: |- - PRIVATE,MICROSOFT,PUBLIC, MANUAL - Peering Type- PRIVATE,MICROSOFT,PUBLIC, MANUAL + (String) IBX Code + IBX Code type: string - port: + metroCode: description: |- - (Block Set, Max: 1) Port access point information (see below for nested schema) - Port access point information + (String) Access point metro code + Access point metro code + type: string + metroName: + description: |- + (String) Access point metro name + Access point metro name + type: string + region: + description: |- + (String) Access point region + Access point region + type: string + type: object + network: + description: |- + (Block Set, Max: 1) network access point information (see below for nested schema) + network access point information + properties: + href: + description: |- + (String) Connection URI information + Unique Resource Identifier + type: string + uuid: + description: |- + assigned connection identifier + Equinix-assigned Network identifier + type: string + type: object + peeringType: + description: |- + PRIVATE,MICROSOFT,PUBLIC, MANUAL + Peering Type- PRIVATE,MICROSOFT,PUBLIC, MANUAL + type: string + port: + description: |- + (Block Set, Max: 1) Port access point information (see below for nested schema) + Port access point information + properties: + href: + description: |- + (String) Connection URI information + Unique Resource Identifier + type: string + name: + description: |- + numeric 24 characters string which can include only hyphens and underscores + Port name + type: string + redundancy: + description: |- + (Block Set, Max: 1) Connection Redundancy Configuration (see below for nested schema) + Redundancy Information items: properties: - href: - description: |- - (String) Connection URI information - Unique Resource Identifier - type: string - name: - description: |- - numeric 24 characters string which can include only hyphens and underscores - Port name + enabled: + description: (Boolean) + type: boolean + group: + description: (String) type: string - redundancy: - description: |- - (Block Set, Max: 1) Connection Redundancy Configuration (see below for nested schema) - Redundancy Information - items: - properties: - enabled: - description: (Boolean) - type: boolean - group: - description: (String) - type: string - priority: - description: (String) - type: string - type: object - type: array - uuid: - description: |- - assigned connection identifier - Equinix-assigned Port identifier + priority: + description: (String) type: string type: object type: array - profile: + uuid: + description: |- + assigned connection identifier + Equinix-assigned Port identifier + type: string + type: object + profile: + description: |- + (Block Set, Max: 1) Service Profile (see below for nested schema) + Service Profile + properties: + accessPointTypeConfigs: description: |- - (Block Set, Max: 1) Service Profile (see below for nested schema) - Service Profile + (List of Object) Access point config information (see below for nested schema) + Access point config information items: properties: - accessPointTypeConfigs: - description: |- - (List of Object) Access point config information (see below for nested schema) - Access point config information - items: - properties: - type: - description: (String) Defines the connection - type like EVPL_VC, EPL_VC, IPWAN_VC, - IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, - EIA_VC, EC_VC - type: string - uuid: - description: assigned connection identifier - type: string - type: object - type: array - description: - description: |- - provided connection description - User-provided service description - type: string - href: - description: |- - (String) Connection URI information - Service Profile URI response attribute - type: string - name: - description: |- - numeric 24 characters string which can include only hyphens and underscores - Customer-assigned service profile name - type: string type: - description: |- - (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC - Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE + description: (String) Defines the connection + type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, + ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, + EC_VC type: string uuid: - description: |- - assigned connection identifier - Equinix assigned service profile identifier + description: assigned connection identifier type: string type: object type: array - providerConnectionId: + description: description: |- - (String) Provider assigned Connection Id - Provider assigned Connection Id + provided connection description + User-provided service description type: string - router: + href: description: |- - (Block Set, Max: 1) Cloud Router access point information that replaces gateway (see below for nested schema) - Cloud Router access point information that replaces `gateway` - items: - properties: - href: - description: |- - (String) Connection URI information - Unique Resource Identifier - type: string - uuid: - description: |- - assigned connection identifier - Equinix-assigned virtual gateway identifier - type: string - type: object - type: array - sellerRegion: + (String) Connection URI information + Service Profile URI response attribute + type: string + name: description: |- - (String) Access point seller region - Access point seller region + numeric 24 characters string which can include only hyphens and underscores + Customer-assigned service profile name type: string type: description: |- (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC - Access point type - COLO, VD, VG, SP, IGW, SUBNET, CLOUD_ROUTER, NETWORK + Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE type: string - virtualDevice: + uuid: description: |- - (Block Set, Max: 1) Virtual device (see below for nested schema) - Virtual device - items: - properties: - href: - description: |- - (String) Connection URI information - Unique Resource Identifier - type: string - name: - description: |- - numeric 24 characters string which can include only hyphens and underscores - Customer-assigned Virtual Device Name - type: string - type: - description: |- - (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC - Virtual Device type - type: string - uuid: - description: |- - assigned connection identifier - Equinix-assigned Virtual Device identifier - type: string - type: object - type: array + assigned connection identifier + Equinix assigned service profile identifier + type: string type: object - type: array - additionalInfo: - description: |- - (List of Map of String) Connection additional information - Connection side additional information - items: + providerConnectionId: + description: |- + (String) Provider assigned Connection Id + Provider assigned Connection Id + type: string + router: + description: |- + (Block Set, Max: 1) Cloud Router access point information that replaces gateway (see below for nested schema) + Cloud Router access point information that replaces `gateway` properties: - key: + href: description: |- - (String) Additional information key - Additional information key + (String) Connection URI information + Unique Resource Identifier type: string - value: + uuid: description: |- - (String) Additional information value - Additional information value + assigned connection identifier + Equinix-assigned virtual gateway identifier type: string type: object - type: array - serviceToken: - description: |- - (Block Set, Max: 1) For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets (see below for nested schema) - For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets - items: + sellerRegion: + description: |- + (String) Access point seller region + Access point seller region + type: string + type: + description: |- + (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC + Access point type - COLO, VD, VG, SP, IGW, SUBNET, CLOUD_ROUTER, NETWORK + type: string + virtualDevice: + description: |- + (Block Set, Max: 1) Virtual device (see below for nested schema) + Virtual device properties: - description: - description: |- - provided connection description - Service token description - type: string href: description: |- (String) Connection URI information - An absolute URL that is the subject of the link's context + Unique Resource Identifier + type: string + name: + description: |- + numeric 24 characters string which can include only hyphens and underscores + Customer-assigned Virtual Device Name type: string type: description: |- (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC - Token type - VC_TOKEN + Virtual Device type type: string uuid: description: |- assigned connection identifier - Equinix-assigned service token identifier - type: string - type: object - type: array - type: object - type: array + Equinix-assigned Virtual Device identifier + type: string + type: object + type: object + additionalInfo: + description: |- + (List of Map of String) Connection additional information + Connection side additional information + items: + properties: + key: + description: |- + (String) Additional information key + Additional information key + type: string + value: + description: |- + (String) Additional information value + Additional information value + type: string + type: object + type: array + serviceToken: + description: |- + (Block Set, Max: 1) For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets (see below for nested schema) + For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets + properties: + description: + description: |- + provided connection description + Service token description + type: string + href: + description: |- + (String) Connection URI information + An absolute URL that is the subject of the link's context + type: string + type: + description: |- + (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC + Token type - VC_TOKEN + type: string + uuid: + description: |- + assigned connection identifier + Equinix-assigned service token identifier + type: string + type: object + type: object account: description: |- (Set of Object) Customer account information that is associated with this connection (see below for nested schema) @@ -2096,66 +1964,60 @@ spec: description: |- (Block Set, Min: 1, Max: 1) Order details (see below for nested schema) Order details - items: - properties: - billingTier: - description: |- - (String) Billing tier for connection bandwidth - Billing tier for connection bandwidth - type: string - orderId: - description: |- - (String) Order Identification - Order Identification - type: string - orderNumber: - description: |- - (String) Order Reference Number - Order Reference Number - type: string - purchaseOrderNumber: - description: |- - (String) Purchase order number - Purchase order number - type: string - type: object - type: array + properties: + billingTier: + description: |- + (String) Billing tier for connection bandwidth + Billing tier for connection bandwidth + type: string + orderId: + description: |- + (String) Order Identification + Order Identification + type: string + orderNumber: + description: |- + (String) Order Reference Number + Order Reference Number + type: string + purchaseOrderNumber: + description: |- + (String) Purchase order number + Purchase order number + type: string + type: object project: description: |- (Block Set, Max: 1) Project information (see below for nested schema) Project information - items: - properties: - href: - description: |- - (String) Connection URI information - Unique Resource URL - type: string - projectId: - description: |- - (String) Project Id - Project Id - type: string - type: object - type: array + properties: + href: + description: |- + (String) Connection URI information + Unique Resource URL + type: string + projectId: + description: |- + (String) Project Id + Project Id + type: string + type: object redundancy: description: |- (Block Set, Max: 1) Connection Redundancy Configuration (see below for nested schema) Connection Redundancy Configuration - items: - properties: - group: - description: |- - (String) - Redundancy group identifier (Use the redundancy.0.group UUID of primary connection; e.g. one(equinix_fabric_connection.primary_port_connection.redundancy).group or equinix_fabric_connection.primary_port_connection.redundancy.0.group) - type: string - priority: - description: |- - (String) - Connection priority in redundancy group - PRIMARY, SECONDARY - type: string - type: object - type: array + properties: + group: + description: |- + (String) + Redundancy group identifier (Use the redundancy.0.group UUID of primary connection; e.g. one(equinix_fabric_connection.primary_port_connection.redundancy).group or equinix_fabric_connection.primary_port_connection.redundancy.0.group) + type: string + priority: + description: |- + (String) + Connection priority in redundancy group - PRIMARY, SECONDARY + type: string + type: object state: description: |- (String) Connection overall state @@ -2175,388 +2037,364 @@ spec: description: |- segment connection (see below for nested schema) Destination or Provider side connection configuration object of the multi-segment connection - items: - properties: - accessPoint: - description: |- - (Block Set, Max: 1) Point of access details (see below for nested schema) - Point of access details - items: + properties: + accessPoint: + description: |- + (Block Set, Max: 1) Point of access details (see below for nested schema) + Point of access details + properties: + account: + description: |- + (Set of Object) Customer account information that is associated with this connection (see below for nested schema) + Account + items: + properties: + accountName: + description: |- + (String) Legal name of the accountholder. + Legal name of the accountholder. + type: string + accountNumber: + description: |- + assigned account number. + Equinix-assigned account number. + type: number + globalCustId: + description: |- + assigned ID of the subscriber's parent organization. + Equinix-assigned ID of the subscriber's parent organization. + type: string + globalOrgId: + description: |- + assigned ID of the subscriber's parent organization. + Equinix-assigned ID of the subscriber's parent organization. + type: string + globalOrganizationName: + description: |- + assigned name of the subscriber's parent organization. + Equinix-assigned name of the subscriber's parent organization. + type: string + orgId: + description: |- + assigned ID of the subscriber's organization. + Equinix-assigned ID of the subscriber's organization. + type: number + organizationName: + description: |- + assigned name of the subscriber's organization. + Equinix-assigned name of the subscriber's organization. + type: string + ucmId: + description: |- + (String) Enterprise datastore id + Enterprise datastore id + type: string + type: object + type: array + authenticationKey: + description: |- + (String) Authentication key for provider based connections + Authentication key for provider based connections + type: string + gateway: + description: |- + (Block Set, Max: 1, Deprecated) Deprecated gateway Use router attribute instead (see below for nested schema) + **Deprecated** `gateway` Use `router` attribute instead properties: - account: + href: description: |- - (Set of Object) Customer account information that is associated with this connection (see below for nested schema) - Account - items: - properties: - accountName: - description: |- - (String) Legal name of the accountholder. - Legal name of the accountholder. - type: string - accountNumber: - description: |- - assigned account number. - Equinix-assigned account number. - type: number - globalCustId: - description: |- - assigned ID of the subscriber's parent organization. - Equinix-assigned ID of the subscriber's parent organization. - type: string - globalOrgId: - description: |- - assigned ID of the subscriber's parent organization. - Equinix-assigned ID of the subscriber's parent organization. - type: string - globalOrganizationName: - description: |- - assigned name of the subscriber's parent organization. - Equinix-assigned name of the subscriber's parent organization. - type: string - orgId: - description: |- - assigned ID of the subscriber's organization. - Equinix-assigned ID of the subscriber's organization. - type: number - organizationName: - description: |- - assigned name of the subscriber's organization. - Equinix-assigned name of the subscriber's organization. - type: string - ucmId: - description: |- - (String) Enterprise datastore id - Enterprise datastore id - type: string - type: object - type: array - authenticationKey: + (String) Connection URI information + Unique Resource Identifier + type: string + uuid: description: |- - (String) Authentication key for provider based connections - Authentication key for provider based connections + assigned connection identifier + Equinix-assigned virtual gateway identifier type: string - gateway: + type: object + interface: + description: |- + (Block Set, Max: 1) Virtual device interface (see below for nested schema) + Virtual device interface + properties: + id: description: |- - (Block Set, Max: 1, Deprecated) Deprecated gateway Use router attribute instead (see below for nested schema) - **Deprecated** `gateway` Use `router` attribute instead - items: - properties: - href: - description: |- - (String) Connection URI information - Unique Resource Identifier - type: string - uuid: - description: |- - assigned connection identifier - Equinix-assigned virtual gateway identifier - type: string - type: object - type: array - interface: + (String) The ID of this resource. + id + type: number + type: description: |- - (Block Set, Max: 1) Virtual device interface (see below for nested schema) - Virtual device interface - items: - properties: - id: - description: |- - (String) The ID of this resource. - id - type: number - type: - description: |- - (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC - Interface type - type: string - uuid: - description: |- - assigned connection identifier - Equinix-assigned interface identifier - type: string - type: object - type: array - linkProtocol: + (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC + Interface type + type: string + uuid: description: |- - (Block Set, Max: 1) Connection link protocol (see below for nested schema) - Connection link protocol - items: - properties: - type: - description: |- - (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC - Type of the link protocol - UNTAGGED, DOT1Q, QINQ, EVPN_VXLAN - type: string - vlanCTag: - description: |- - (Number) Vlan Customer Tag information, vlanCTag value specified for QINQ connections - Vlan Customer Tag information, vlanCTag value specified for QINQ connections - type: number - vlanSTag: - description: |- - (Number) Vlan Provider Tag information, vlanSTag value specified for QINQ connections - Vlan Provider Tag information, vlanSTag value specified for QINQ connections - type: number - vlanTag: - description: |- - (Number) Vlan Tag information, vlanTag value specified for DOT1Q connections - Vlan Tag information, vlanTag value specified for DOT1Q connections - type: number - type: object - type: array - location: + assigned connection identifier + Equinix-assigned interface identifier + type: string + type: object + linkProtocol: + description: |- + (Block Set, Max: 1) Connection link protocol (see below for nested schema) + Connection link protocol + properties: + type: description: |- - (Block Set, Max: 1) Access point location (see below for nested schema) - Access point location - items: - properties: - ibx: - description: |- - (String) IBX Code - IBX Code - type: string - metroCode: - description: |- - (String) Access point metro code - Access point metro code - type: string - metroName: - description: |- - (String) Access point metro name - Access point metro name - type: string - region: - description: |- - (String) Access point region - Access point region - type: string - type: object - type: array - network: + (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC + Type of the link protocol - UNTAGGED, DOT1Q, QINQ, EVPN_VXLAN + type: string + vlanCTag: description: |- - (Block Set, Max: 1) network access point information (see below for nested schema) - network access point information - items: - properties: - href: - description: |- - (String) Connection URI information - Unique Resource Identifier - type: string - uuid: - description: |- - assigned connection identifier - Equinix-assigned Network identifier - type: string - type: object - type: array - peeringType: + (Number) Vlan Customer Tag information, vlanCTag value specified for QINQ connections + Vlan Customer Tag information, vlanCTag value specified for QINQ connections + type: number + vlanSTag: + description: |- + (Number) Vlan Provider Tag information, vlanSTag value specified for QINQ connections + Vlan Provider Tag information, vlanSTag value specified for QINQ connections + type: number + vlanTag: + description: |- + (Number) Vlan Tag information, vlanTag value specified for DOT1Q connections + Vlan Tag information, vlanTag value specified for DOT1Q connections + type: number + type: object + location: + description: |- + (Block Set, Max: 1) Access point location (see below for nested schema) + Access point location + properties: + ibx: + description: |- + (String) IBX Code + IBX Code + type: string + metroCode: + description: |- + (String) Access point metro code + Access point metro code + type: string + metroName: + description: |- + (String) Access point metro name + Access point metro name + type: string + region: + description: |- + (String) Access point region + Access point region + type: string + type: object + network: + description: |- + (Block Set, Max: 1) network access point information (see below for nested schema) + network access point information + properties: + href: description: |- - PRIVATE,MICROSOFT,PUBLIC, MANUAL - Peering Type- PRIVATE,MICROSOFT,PUBLIC, MANUAL + (String) Connection URI information + Unique Resource Identifier + type: string + uuid: + description: |- + assigned connection identifier + Equinix-assigned Network identifier + type: string + type: object + peeringType: + description: |- + PRIVATE,MICROSOFT,PUBLIC, MANUAL + Peering Type- PRIVATE,MICROSOFT,PUBLIC, MANUAL + type: string + port: + description: |- + (Block Set, Max: 1) Port access point information (see below for nested schema) + Port access point information + properties: + href: + description: |- + (String) Connection URI information + Unique Resource Identifier + type: string + name: + description: |- + numeric 24 characters string which can include only hyphens and underscores + Port name type: string - port: + redundancy: description: |- - (Block Set, Max: 1) Port access point information (see below for nested schema) - Port access point information + (Block Set, Max: 1) Connection Redundancy Configuration (see below for nested schema) + Redundancy Information items: properties: - href: - description: |- - (String) Connection URI information - Unique Resource Identifier - type: string - name: - description: |- - numeric 24 characters string which can include only hyphens and underscores - Port name + enabled: + description: (Boolean) + type: boolean + group: + description: (String) type: string - redundancy: - description: |- - (Block Set, Max: 1) Connection Redundancy Configuration (see below for nested schema) - Redundancy Information - items: - properties: - enabled: - description: (Boolean) - type: boolean - group: - description: (String) - type: string - priority: - description: (String) - type: string - type: object - type: array - uuid: - description: |- - assigned connection identifier - Equinix-assigned Port identifier + priority: + description: (String) type: string type: object type: array - profile: + uuid: + description: |- + assigned connection identifier + Equinix-assigned Port identifier + type: string + type: object + profile: + description: |- + (Block Set, Max: 1) Service Profile (see below for nested schema) + Service Profile + properties: + accessPointTypeConfigs: description: |- - (Block Set, Max: 1) Service Profile (see below for nested schema) - Service Profile + (List of Object) Access point config information (see below for nested schema) + Access point config information items: properties: - accessPointTypeConfigs: - description: |- - (List of Object) Access point config information (see below for nested schema) - Access point config information - items: - properties: - type: - description: (String) Defines the connection - type like EVPL_VC, EPL_VC, IPWAN_VC, - IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, - EIA_VC, EC_VC - type: string - uuid: - description: assigned connection identifier - type: string - type: object - type: array - description: - description: |- - provided connection description - User-provided service description - type: string - href: - description: |- - (String) Connection URI information - Service Profile URI response attribute - type: string - name: - description: |- - numeric 24 characters string which can include only hyphens and underscores - Customer-assigned service profile name - type: string type: - description: |- - (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC - Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE + description: (String) Defines the connection + type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, + ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, + EC_VC type: string uuid: - description: |- - assigned connection identifier - Equinix assigned service profile identifier + description: assigned connection identifier type: string type: object type: array - providerConnectionId: + description: description: |- - (String) Provider assigned Connection Id - Provider assigned Connection Id + provided connection description + User-provided service description type: string - router: + href: description: |- - (Block Set, Max: 1) Cloud Router access point information that replaces gateway (see below for nested schema) - Cloud Router access point information that replaces `gateway` - items: - properties: - href: - description: |- - (String) Connection URI information - Unique Resource Identifier - type: string - uuid: - description: |- - assigned connection identifier - Equinix-assigned virtual gateway identifier - type: string - type: object - type: array - sellerRegion: + (String) Connection URI information + Service Profile URI response attribute + type: string + name: description: |- - (String) Access point seller region - Access point seller region + numeric 24 characters string which can include only hyphens and underscores + Customer-assigned service profile name type: string type: description: |- (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC - Access point type - COLO, VD, VG, SP, IGW, SUBNET, CLOUD_ROUTER, NETWORK + Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE type: string - virtualDevice: + uuid: description: |- - (Block Set, Max: 1) Virtual device (see below for nested schema) - Virtual device - items: - properties: - href: - description: |- - (String) Connection URI information - Unique Resource Identifier - type: string - name: - description: |- - numeric 24 characters string which can include only hyphens and underscores - Customer-assigned Virtual Device Name - type: string - type: - description: |- - (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC - Virtual Device type - type: string - uuid: - description: |- - assigned connection identifier - Equinix-assigned Virtual Device identifier - type: string - type: object - type: array + assigned connection identifier + Equinix assigned service profile identifier + type: string type: object - type: array - additionalInfo: - description: |- - (List of Map of String) Connection additional information - Connection side additional information - items: + providerConnectionId: + description: |- + (String) Provider assigned Connection Id + Provider assigned Connection Id + type: string + router: + description: |- + (Block Set, Max: 1) Cloud Router access point information that replaces gateway (see below for nested schema) + Cloud Router access point information that replaces `gateway` properties: - key: + href: description: |- - (String) Additional information key - Additional information key + (String) Connection URI information + Unique Resource Identifier type: string - value: + uuid: description: |- - (String) Additional information value - Additional information value + assigned connection identifier + Equinix-assigned virtual gateway identifier type: string type: object - type: array - serviceToken: - description: |- - (Block Set, Max: 1) For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets (see below for nested schema) - For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets - items: + sellerRegion: + description: |- + (String) Access point seller region + Access point seller region + type: string + type: + description: |- + (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC + Access point type - COLO, VD, VG, SP, IGW, SUBNET, CLOUD_ROUTER, NETWORK + type: string + virtualDevice: + description: |- + (Block Set, Max: 1) Virtual device (see below for nested schema) + Virtual device properties: - description: - description: |- - provided connection description - Service token description - type: string href: description: |- (String) Connection URI information - An absolute URL that is the subject of the link's context + Unique Resource Identifier + type: string + name: + description: |- + numeric 24 characters string which can include only hyphens and underscores + Customer-assigned Virtual Device Name type: string type: description: |- (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC - Token type - VC_TOKEN + Virtual Device type type: string uuid: description: |- assigned connection identifier - Equinix-assigned service token identifier + Equinix-assigned Virtual Device identifier type: string type: object - type: array - type: object - type: array + type: object + additionalInfo: + description: |- + (List of Map of String) Connection additional information + Connection side additional information + items: + properties: + key: + description: |- + (String) Additional information key + Additional information key + type: string + value: + description: |- + (String) Additional information value + Additional information value + type: string + type: object + type: array + serviceToken: + description: |- + (Block Set, Max: 1) For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets (see below for nested schema) + For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets + properties: + description: + description: |- + provided connection description + Service token description + type: string + href: + description: |- + (String) Connection URI information + An absolute URL that is the subject of the link's context + type: string + type: + description: |- + (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC + Token type - VC_TOKEN + type: string + uuid: + description: |- + assigned connection identifier + Equinix-assigned service token identifier + type: string + type: object + type: object type: object conditions: description: Conditions of the resource. diff --git a/package/crds/fabric.equinix.jet.crossplane.io_networks.yaml b/package/crds/fabric.equinix.jet.crossplane.io_networks.yaml index 7b2ee4d..e7ef422 100644 --- a/package/crds/fabric.equinix.jet.crossplane.io_networks.yaml +++ b/package/crds/fabric.equinix.jet.crossplane.io_networks.yaml @@ -77,30 +77,28 @@ spec: description: |- (Block Set, Max: 1) Fabric Network location (see below for nested schema) Fabric Network location - items: - properties: - ibx: - description: |- - (String) IBX Code - IBX Code - type: string - metroCode: - description: |- - (String) Access point metro code - Access point metro code - type: string - metroName: - description: |- - (String) Access point metro name - Access point metro name - type: string - region: - description: |- - (String) Access point region - Access point region - type: string - type: object - type: array + properties: + ibx: + description: |- + (String) IBX Code + IBX Code + type: string + metroCode: + description: |- + (String) Access point metro code + Access point metro code + type: string + metroName: + description: |- + (String) Access point metro name + Access point metro name + type: string + region: + description: |- + (String) Access point region + Access point region + type: string + type: object name: description: |- numeric 24 characters string which can include only hyphens and underscores @@ -172,30 +170,28 @@ spec: description: |- (Block Set, Max: 1) Fabric Network location (see below for nested schema) Fabric Network location - items: - properties: - ibx: - description: |- - (String) IBX Code - IBX Code - type: string - metroCode: - description: |- - (String) Access point metro code - Access point metro code - type: string - metroName: - description: |- - (String) Access point metro name - Access point metro name - type: string - region: - description: |- - (String) Access point region - Access point region - type: string - type: object - type: array + properties: + ibx: + description: |- + (String) IBX Code + IBX Code + type: string + metroCode: + description: |- + (String) Access point metro code + Access point metro code + type: string + metroName: + description: |- + (String) Access point metro name + Access point metro name + type: string + region: + description: |- + (String) Access point region + Access point region + type: string + type: object name: description: |- numeric 24 characters string which can include only hyphens and underscores @@ -521,30 +517,28 @@ spec: description: |- (Block Set, Max: 1) Fabric Network location (see below for nested schema) Fabric Network location - items: - properties: - ibx: - description: |- - (String) IBX Code - IBX Code - type: string - metroCode: - description: |- - (String) Access point metro code - Access point metro code - type: string - metroName: - description: |- - (String) Access point metro name - Access point metro name - type: string - region: - description: |- - (String) Access point region - Access point region - type: string - type: object - type: array + properties: + ibx: + description: |- + (String) IBX Code + IBX Code + type: string + metroCode: + description: |- + (String) Access point metro code + Access point metro code + type: string + metroName: + description: |- + (String) Access point metro name + Access point metro name + type: string + region: + description: |- + (String) Access point region + Access point region + type: string + type: object name: description: |- numeric 24 characters string which can include only hyphens and underscores diff --git a/package/crds/fabric.equinix.jet.crossplane.io_serviceprofiles.yaml b/package/crds/fabric.equinix.jet.crossplane.io_serviceprofiles.yaml index 90871ca..0c25574 100644 --- a/package/crds/fabric.equinix.jet.crossplane.io_serviceprofiles.yaml +++ b/package/crds/fabric.equinix.jet.crossplane.io_serviceprofiles.yaml @@ -104,68 +104,64 @@ spec: description: |- (Block Set, Max: 1) Api configuration details (see below for nested schema) Api configuration details - items: - properties: - allowOverSubscription: - description: |- - (Boolean) Setting showing that oversubscription support is available (true) or not (false). The default is false - Setting showing that oversubscription support is available (true) or not (false). The default is false - type: boolean - apiAvailable: - description: |- - (Boolean) Indicates if it's possible to establish connections based on the given service profile using the Equinix Fabric API. - Indicates if it's possible to establish connections based on the given service profile using the Equinix Fabric API. - type: boolean - bandwidthFromApi: - description: |- - (Boolean) Indicates if the connection bandwidth can be obtained directly from the cloud service provider. - Indicates if the connection bandwidth can be obtained directly from the cloud service provider. - type: boolean - equinixManagedPort: - description: |- - (Boolean) Setting indicating that the port is managed by Equinix (true) or not (false) - Setting indicating that the port is managed by Equinix (true) or not (false) - type: boolean - equinixManagedVlan: - description: |- - (Boolean) Setting indicating that the VLAN is managed by Equinix (true) or not (false) - Setting indicating that the VLAN is managed by Equinix (true) or not (false) - type: boolean - integrationId: - description: |- - (String) A unique identifier issued during onboarding and used to integrate the customer's service profile with the Equinix Fabric API. - A unique identifier issued during onboarding and used to integrate the customer's service profile with the Equinix Fabric API. - type: string - overSubscriptionLimit: - description: |- - (Number) Port bandwidth multiplier that determines the total bandwidth that can be allocated to users creating connections to your services. For example, a 10 Gbps port combined with an overSubscriptionLimit parameter value of 10 allows your subscribers to create connections with a total bandwidth of 100 Gbps. - Port bandwidth multiplier that determines the total bandwidth that can be allocated to users creating connections to your services. For example, a 10 Gbps port combined with an overSubscriptionLimit parameter value of 10 allows your subscribers to create connections with a total bandwidth of 100 Gbps. - type: number - type: object - type: array + properties: + allowOverSubscription: + description: |- + (Boolean) Setting showing that oversubscription support is available (true) or not (false). The default is false + Setting showing that oversubscription support is available (true) or not (false). The default is false + type: boolean + apiAvailable: + description: |- + (Boolean) Indicates if it's possible to establish connections based on the given service profile using the Equinix Fabric API. + Indicates if it's possible to establish connections based on the given service profile using the Equinix Fabric API. + type: boolean + bandwidthFromApi: + description: |- + (Boolean) Indicates if the connection bandwidth can be obtained directly from the cloud service provider. + Indicates if the connection bandwidth can be obtained directly from the cloud service provider. + type: boolean + equinixManagedPort: + description: |- + (Boolean) Setting indicating that the port is managed by Equinix (true) or not (false) + Setting indicating that the port is managed by Equinix (true) or not (false) + type: boolean + equinixManagedVlan: + description: |- + (Boolean) Setting indicating that the VLAN is managed by Equinix (true) or not (false) + Setting indicating that the VLAN is managed by Equinix (true) or not (false) + type: boolean + integrationId: + description: |- + (String) A unique identifier issued during onboarding and used to integrate the customer's service profile with the Equinix Fabric API. + A unique identifier issued during onboarding and used to integrate the customer's service profile with the Equinix Fabric API. + type: string + overSubscriptionLimit: + description: |- + (Number) Port bandwidth multiplier that determines the total bandwidth that can be allocated to users creating connections to your services. For example, a 10 Gbps port combined with an overSubscriptionLimit parameter value of 10 allows your subscribers to create connections with a total bandwidth of 100 Gbps. + Port bandwidth multiplier that determines the total bandwidth that can be allocated to users creating connections to your services. For example, a 10 Gbps port combined with an overSubscriptionLimit parameter value of 10 allows your subscribers to create connections with a total bandwidth of 100 Gbps. + type: number + type: object authenticationKey: description: |- (Block Set, Max: 1) Authentication key details (see below for nested schema) Authentication key details - items: - properties: - description: - description: |- - provided service description - Description of authorization key - type: string - label: - description: |- - (String) Name of the parameter that must be provided to authorize the connection. - Name of the parameter that must be provided to authorize the connection. - type: string - required: - description: |- - (Boolean) Requirement to configure an authentication key. - Requirement to configure an authentication key. - type: boolean - type: object - type: array + properties: + description: + description: |- + provided service description + Description of authorization key + type: string + label: + description: |- + (String) Name of the parameter that must be provided to authorize the connection. + Name of the parameter that must be provided to authorize the connection. + type: string + required: + description: |- + (Boolean) Requirement to configure an authentication key. + Requirement to configure an authentication key. + type: boolean + type: object bandwidthAlertThreshold: description: |- (Number) Percentage of port bandwidth at which an allocation alert is generated @@ -190,25 +186,23 @@ spec: description: |- (Block Set, Max: 1) Link protocol configuration details (see below for nested schema) Link protocol configuration details - items: - properties: - encapsulation: - description: |- - Untagged encapsulation for EPL connections. DOT1Q - DOT1Q encapsulation standard. QINQ - QINQ encapsulation standard. - Data frames encapsulation standard.UNTAGGED - Untagged encapsulation for EPL connections. DOT1Q - DOT1Q encapsulation standard. QINQ - QINQ encapsulation standard. - type: string - encapsulationStrategy: - description: |- - (String) Additional tagging information required by the seller profile. - Additional tagging information required by the seller profile. - type: string - reuseVlanSTag: - description: |- - tag assigned as the initial connection. - Automatically accept subsequent DOT1Q to QINQ connections that use the same authentication key. These connections will have the same VLAN S-tag assigned as the initial connection. - type: boolean - type: object - type: array + properties: + encapsulation: + description: |- + Untagged encapsulation for EPL connections. DOT1Q - DOT1Q encapsulation standard. QINQ - QINQ encapsulation standard. + Data frames encapsulation standard.UNTAGGED - Untagged encapsulation for EPL connections. DOT1Q - DOT1Q encapsulation standard. QINQ - QINQ encapsulation standard. + type: string + encapsulationStrategy: + description: |- + (String) Additional tagging information required by the seller profile. + Additional tagging information required by the seller profile. + type: string + reuseVlanSTag: + description: |- + tag assigned as the initial connection. + Automatically accept subsequent DOT1Q to QINQ connections that use the same authentication key. These connections will have the same VLAN S-tag assigned as the initial connection. + type: boolean + type: object supportedBandwidths: description: |- (List of Number) Supported bandwidths @@ -279,43 +273,41 @@ spec: description: |- (Block Set, Max: 1) Marketing Info (see below for nested schema) Marketing Info - items: - properties: - logo: - description: |- - (String) Logo - Logo - type: string - processStep: - description: |- - (Block List) Process Step (see below for nested schema) - Process Step - items: - properties: - description: - description: |- - provided service description - Description - type: string - subTitle: - description: |- - (String) Sub Title - Sub Title - type: string - title: - description: |- - (String) Title - Title - type: string - type: object - type: array - promotion: - description: |- - (Boolean) Promotion - Promotion - type: boolean - type: object - type: array + properties: + logo: + description: |- + (String) Logo + Logo + type: string + processStep: + description: |- + (Block List) Process Step (see below for nested schema) + Process Step + items: + properties: + description: + description: |- + provided service description + Description + type: string + subTitle: + description: |- + (String) Sub Title + Sub Title + type: string + title: + description: |- + (String) Title + Title + type: string + type: object + type: array + promotion: + description: |- + (Boolean) Promotion + Promotion + type: boolean + type: object metros: description: |- (Block List) Access point config information (see below for nested schema) @@ -404,30 +396,28 @@ spec: description: |- (Block Set, Max: 1) Colo/Port Location (see below for nested schema) Colo/Port Location - items: - properties: - ibx: - description: |- - (String) IBX Code - IBX Code - type: string - metroCode: - description: |- - (String) Access point metro code - Access point metro code - type: string - metroName: - description: |- - (String) Access point metro name - Access point metro name - type: string - region: - description: |- - (String) Access point region - Access point region - type: string - type: object - type: array + properties: + ibx: + description: |- + (String) IBX Code + IBX Code + type: string + metroCode: + description: |- + (String) Access point metro code + Access point metro code + type: string + metroName: + description: |- + (String) Access point metro name + Access point metro name + type: string + region: + description: |- + (String) Access point region + Access point region + type: string + type: object sellerRegion: description: |- (String) Seller Region @@ -454,15 +444,13 @@ spec: description: |- (Block Set, Max: 1) Project information (see below for nested schema) Project information - items: - properties: - projectId: - description: |- - (String) Project Id - Project Id - type: string - type: object - type: array + properties: + projectId: + description: |- + (String) Project Id + Project Id + type: string + type: object selfProfile: description: |- (Boolean) Self Profile indicating if the profile is created for customer's self use @@ -504,30 +492,28 @@ spec: description: |- (Block Set, Max: 1) Colo/Port Location (see below for nested schema) Device Location - items: - properties: - ibx: - description: |- - (String) IBX Code - IBX Code - type: string - metroCode: - description: |- - (String) Access point metro code - Access point metro code - type: string - metroName: - description: |- - (String) Access point metro name - Access point metro name - type: string - region: - description: |- - (String) Access point region - Access point region - type: string - type: object - type: array + properties: + ibx: + description: |- + (String) IBX Code + IBX Code + type: string + metroCode: + description: |- + (String) Access point metro code + Access point metro code + type: string + metroName: + description: |- + (String) Access point metro name + Access point metro name + type: string + region: + description: |- + (String) Access point region + Access point region + type: string + type: object type: description: |- L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE @@ -589,68 +575,64 @@ spec: description: |- (Block Set, Max: 1) Api configuration details (see below for nested schema) Api configuration details - items: - properties: - allowOverSubscription: - description: |- - (Boolean) Setting showing that oversubscription support is available (true) or not (false). The default is false - Setting showing that oversubscription support is available (true) or not (false). The default is false - type: boolean - apiAvailable: - description: |- - (Boolean) Indicates if it's possible to establish connections based on the given service profile using the Equinix Fabric API. - Indicates if it's possible to establish connections based on the given service profile using the Equinix Fabric API. - type: boolean - bandwidthFromApi: - description: |- - (Boolean) Indicates if the connection bandwidth can be obtained directly from the cloud service provider. - Indicates if the connection bandwidth can be obtained directly from the cloud service provider. - type: boolean - equinixManagedPort: - description: |- - (Boolean) Setting indicating that the port is managed by Equinix (true) or not (false) - Setting indicating that the port is managed by Equinix (true) or not (false) - type: boolean - equinixManagedVlan: - description: |- - (Boolean) Setting indicating that the VLAN is managed by Equinix (true) or not (false) - Setting indicating that the VLAN is managed by Equinix (true) or not (false) - type: boolean - integrationId: - description: |- - (String) A unique identifier issued during onboarding and used to integrate the customer's service profile with the Equinix Fabric API. - A unique identifier issued during onboarding and used to integrate the customer's service profile with the Equinix Fabric API. - type: string - overSubscriptionLimit: - description: |- - (Number) Port bandwidth multiplier that determines the total bandwidth that can be allocated to users creating connections to your services. For example, a 10 Gbps port combined with an overSubscriptionLimit parameter value of 10 allows your subscribers to create connections with a total bandwidth of 100 Gbps. - Port bandwidth multiplier that determines the total bandwidth that can be allocated to users creating connections to your services. For example, a 10 Gbps port combined with an overSubscriptionLimit parameter value of 10 allows your subscribers to create connections with a total bandwidth of 100 Gbps. - type: number - type: object - type: array + properties: + allowOverSubscription: + description: |- + (Boolean) Setting showing that oversubscription support is available (true) or not (false). The default is false + Setting showing that oversubscription support is available (true) or not (false). The default is false + type: boolean + apiAvailable: + description: |- + (Boolean) Indicates if it's possible to establish connections based on the given service profile using the Equinix Fabric API. + Indicates if it's possible to establish connections based on the given service profile using the Equinix Fabric API. + type: boolean + bandwidthFromApi: + description: |- + (Boolean) Indicates if the connection bandwidth can be obtained directly from the cloud service provider. + Indicates if the connection bandwidth can be obtained directly from the cloud service provider. + type: boolean + equinixManagedPort: + description: |- + (Boolean) Setting indicating that the port is managed by Equinix (true) or not (false) + Setting indicating that the port is managed by Equinix (true) or not (false) + type: boolean + equinixManagedVlan: + description: |- + (Boolean) Setting indicating that the VLAN is managed by Equinix (true) or not (false) + Setting indicating that the VLAN is managed by Equinix (true) or not (false) + type: boolean + integrationId: + description: |- + (String) A unique identifier issued during onboarding and used to integrate the customer's service profile with the Equinix Fabric API. + A unique identifier issued during onboarding and used to integrate the customer's service profile with the Equinix Fabric API. + type: string + overSubscriptionLimit: + description: |- + (Number) Port bandwidth multiplier that determines the total bandwidth that can be allocated to users creating connections to your services. For example, a 10 Gbps port combined with an overSubscriptionLimit parameter value of 10 allows your subscribers to create connections with a total bandwidth of 100 Gbps. + Port bandwidth multiplier that determines the total bandwidth that can be allocated to users creating connections to your services. For example, a 10 Gbps port combined with an overSubscriptionLimit parameter value of 10 allows your subscribers to create connections with a total bandwidth of 100 Gbps. + type: number + type: object authenticationKey: description: |- (Block Set, Max: 1) Authentication key details (see below for nested schema) Authentication key details - items: - properties: - description: - description: |- - provided service description - Description of authorization key - type: string - label: - description: |- - (String) Name of the parameter that must be provided to authorize the connection. - Name of the parameter that must be provided to authorize the connection. - type: string - required: - description: |- - (Boolean) Requirement to configure an authentication key. - Requirement to configure an authentication key. - type: boolean - type: object - type: array + properties: + description: + description: |- + provided service description + Description of authorization key + type: string + label: + description: |- + (String) Name of the parameter that must be provided to authorize the connection. + Name of the parameter that must be provided to authorize the connection. + type: string + required: + description: |- + (Boolean) Requirement to configure an authentication key. + Requirement to configure an authentication key. + type: boolean + type: object bandwidthAlertThreshold: description: |- (Number) Percentage of port bandwidth at which an allocation alert is generated @@ -675,25 +657,23 @@ spec: description: |- (Block Set, Max: 1) Link protocol configuration details (see below for nested schema) Link protocol configuration details - items: - properties: - encapsulation: - description: |- - Untagged encapsulation for EPL connections. DOT1Q - DOT1Q encapsulation standard. QINQ - QINQ encapsulation standard. - Data frames encapsulation standard.UNTAGGED - Untagged encapsulation for EPL connections. DOT1Q - DOT1Q encapsulation standard. QINQ - QINQ encapsulation standard. - type: string - encapsulationStrategy: - description: |- - (String) Additional tagging information required by the seller profile. - Additional tagging information required by the seller profile. - type: string - reuseVlanSTag: - description: |- - tag assigned as the initial connection. - Automatically accept subsequent DOT1Q to QINQ connections that use the same authentication key. These connections will have the same VLAN S-tag assigned as the initial connection. - type: boolean - type: object - type: array + properties: + encapsulation: + description: |- + Untagged encapsulation for EPL connections. DOT1Q - DOT1Q encapsulation standard. QINQ - QINQ encapsulation standard. + Data frames encapsulation standard.UNTAGGED - Untagged encapsulation for EPL connections. DOT1Q - DOT1Q encapsulation standard. QINQ - QINQ encapsulation standard. + type: string + encapsulationStrategy: + description: |- + (String) Additional tagging information required by the seller profile. + Additional tagging information required by the seller profile. + type: string + reuseVlanSTag: + description: |- + tag assigned as the initial connection. + Automatically accept subsequent DOT1Q to QINQ connections that use the same authentication key. These connections will have the same VLAN S-tag assigned as the initial connection. + type: boolean + type: object supportedBandwidths: description: |- (List of Number) Supported bandwidths @@ -764,43 +744,41 @@ spec: description: |- (Block Set, Max: 1) Marketing Info (see below for nested schema) Marketing Info - items: - properties: - logo: - description: |- - (String) Logo - Logo - type: string - processStep: - description: |- - (Block List) Process Step (see below for nested schema) - Process Step - items: - properties: - description: - description: |- - provided service description - Description - type: string - subTitle: - description: |- - (String) Sub Title - Sub Title - type: string - title: - description: |- - (String) Title - Title - type: string - type: object - type: array - promotion: - description: |- - (Boolean) Promotion - Promotion - type: boolean - type: object - type: array + properties: + logo: + description: |- + (String) Logo + Logo + type: string + processStep: + description: |- + (Block List) Process Step (see below for nested schema) + Process Step + items: + properties: + description: + description: |- + provided service description + Description + type: string + subTitle: + description: |- + (String) Sub Title + Sub Title + type: string + title: + description: |- + (String) Title + Title + type: string + type: object + type: array + promotion: + description: |- + (Boolean) Promotion + Promotion + type: boolean + type: object metros: description: |- (Block List) Access point config information (see below for nested schema) @@ -889,30 +867,28 @@ spec: description: |- (Block Set, Max: 1) Colo/Port Location (see below for nested schema) Colo/Port Location - items: - properties: - ibx: - description: |- - (String) IBX Code - IBX Code - type: string - metroCode: - description: |- - (String) Access point metro code - Access point metro code - type: string - metroName: - description: |- - (String) Access point metro name - Access point metro name - type: string - region: - description: |- - (String) Access point region - Access point region - type: string - type: object - type: array + properties: + ibx: + description: |- + (String) IBX Code + IBX Code + type: string + metroCode: + description: |- + (String) Access point metro code + Access point metro code + type: string + metroName: + description: |- + (String) Access point metro name + Access point metro name + type: string + region: + description: |- + (String) Access point region + Access point region + type: string + type: object sellerRegion: description: |- (String) Seller Region @@ -939,15 +915,13 @@ spec: description: |- (Block Set, Max: 1) Project information (see below for nested schema) Project information - items: - properties: - projectId: - description: |- - (String) Project Id - Project Id - type: string - type: object - type: array + properties: + projectId: + description: |- + (String) Project Id + Project Id + type: string + type: object selfProfile: description: |- (Boolean) Self Profile indicating if the profile is created for customer's self use @@ -989,30 +963,28 @@ spec: description: |- (Block Set, Max: 1) Colo/Port Location (see below for nested schema) Device Location - items: - properties: - ibx: - description: |- - (String) IBX Code - IBX Code - type: string - metroCode: - description: |- - (String) Access point metro code - Access point metro code - type: string - metroName: - description: |- - (String) Access point metro name - Access point metro name - type: string - region: - description: |- - (String) Access point region - Access point region - type: string - type: object - type: array + properties: + ibx: + description: |- + (String) IBX Code + IBX Code + type: string + metroCode: + description: |- + (String) Access point metro code + Access point metro code + type: string + metroName: + description: |- + (String) Access point metro name + Access point metro name + type: string + region: + description: |- + (String) Access point region + Access point region + type: string + type: object type: description: |- L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE @@ -1246,68 +1218,64 @@ spec: description: |- (Block Set, Max: 1) Api configuration details (see below for nested schema) Api configuration details - items: - properties: - allowOverSubscription: - description: |- - (Boolean) Setting showing that oversubscription support is available (true) or not (false). The default is false - Setting showing that oversubscription support is available (true) or not (false). The default is false - type: boolean - apiAvailable: - description: |- - (Boolean) Indicates if it's possible to establish connections based on the given service profile using the Equinix Fabric API. - Indicates if it's possible to establish connections based on the given service profile using the Equinix Fabric API. - type: boolean - bandwidthFromApi: - description: |- - (Boolean) Indicates if the connection bandwidth can be obtained directly from the cloud service provider. - Indicates if the connection bandwidth can be obtained directly from the cloud service provider. - type: boolean - equinixManagedPort: - description: |- - (Boolean) Setting indicating that the port is managed by Equinix (true) or not (false) - Setting indicating that the port is managed by Equinix (true) or not (false) - type: boolean - equinixManagedVlan: - description: |- - (Boolean) Setting indicating that the VLAN is managed by Equinix (true) or not (false) - Setting indicating that the VLAN is managed by Equinix (true) or not (false) - type: boolean - integrationId: - description: |- - (String) A unique identifier issued during onboarding and used to integrate the customer's service profile with the Equinix Fabric API. - A unique identifier issued during onboarding and used to integrate the customer's service profile with the Equinix Fabric API. - type: string - overSubscriptionLimit: - description: |- - (Number) Port bandwidth multiplier that determines the total bandwidth that can be allocated to users creating connections to your services. For example, a 10 Gbps port combined with an overSubscriptionLimit parameter value of 10 allows your subscribers to create connections with a total bandwidth of 100 Gbps. - Port bandwidth multiplier that determines the total bandwidth that can be allocated to users creating connections to your services. For example, a 10 Gbps port combined with an overSubscriptionLimit parameter value of 10 allows your subscribers to create connections with a total bandwidth of 100 Gbps. - type: number - type: object - type: array + properties: + allowOverSubscription: + description: |- + (Boolean) Setting showing that oversubscription support is available (true) or not (false). The default is false + Setting showing that oversubscription support is available (true) or not (false). The default is false + type: boolean + apiAvailable: + description: |- + (Boolean) Indicates if it's possible to establish connections based on the given service profile using the Equinix Fabric API. + Indicates if it's possible to establish connections based on the given service profile using the Equinix Fabric API. + type: boolean + bandwidthFromApi: + description: |- + (Boolean) Indicates if the connection bandwidth can be obtained directly from the cloud service provider. + Indicates if the connection bandwidth can be obtained directly from the cloud service provider. + type: boolean + equinixManagedPort: + description: |- + (Boolean) Setting indicating that the port is managed by Equinix (true) or not (false) + Setting indicating that the port is managed by Equinix (true) or not (false) + type: boolean + equinixManagedVlan: + description: |- + (Boolean) Setting indicating that the VLAN is managed by Equinix (true) or not (false) + Setting indicating that the VLAN is managed by Equinix (true) or not (false) + type: boolean + integrationId: + description: |- + (String) A unique identifier issued during onboarding and used to integrate the customer's service profile with the Equinix Fabric API. + A unique identifier issued during onboarding and used to integrate the customer's service profile with the Equinix Fabric API. + type: string + overSubscriptionLimit: + description: |- + (Number) Port bandwidth multiplier that determines the total bandwidth that can be allocated to users creating connections to your services. For example, a 10 Gbps port combined with an overSubscriptionLimit parameter value of 10 allows your subscribers to create connections with a total bandwidth of 100 Gbps. + Port bandwidth multiplier that determines the total bandwidth that can be allocated to users creating connections to your services. For example, a 10 Gbps port combined with an overSubscriptionLimit parameter value of 10 allows your subscribers to create connections with a total bandwidth of 100 Gbps. + type: number + type: object authenticationKey: description: |- (Block Set, Max: 1) Authentication key details (see below for nested schema) Authentication key details - items: - properties: - description: - description: |- - provided service description - Description of authorization key - type: string - label: - description: |- - (String) Name of the parameter that must be provided to authorize the connection. - Name of the parameter that must be provided to authorize the connection. - type: string - required: - description: |- - (Boolean) Requirement to configure an authentication key. - Requirement to configure an authentication key. - type: boolean - type: object - type: array + properties: + description: + description: |- + provided service description + Description of authorization key + type: string + label: + description: |- + (String) Name of the parameter that must be provided to authorize the connection. + Name of the parameter that must be provided to authorize the connection. + type: string + required: + description: |- + (Boolean) Requirement to configure an authentication key. + Requirement to configure an authentication key. + type: boolean + type: object bandwidthAlertThreshold: description: |- (Number) Percentage of port bandwidth at which an allocation alert is generated @@ -1332,25 +1300,23 @@ spec: description: |- (Block Set, Max: 1) Link protocol configuration details (see below for nested schema) Link protocol configuration details - items: - properties: - encapsulation: - description: |- - Untagged encapsulation for EPL connections. DOT1Q - DOT1Q encapsulation standard. QINQ - QINQ encapsulation standard. - Data frames encapsulation standard.UNTAGGED - Untagged encapsulation for EPL connections. DOT1Q - DOT1Q encapsulation standard. QINQ - QINQ encapsulation standard. - type: string - encapsulationStrategy: - description: |- - (String) Additional tagging information required by the seller profile. - Additional tagging information required by the seller profile. - type: string - reuseVlanSTag: - description: |- - tag assigned as the initial connection. - Automatically accept subsequent DOT1Q to QINQ connections that use the same authentication key. These connections will have the same VLAN S-tag assigned as the initial connection. - type: boolean - type: object - type: array + properties: + encapsulation: + description: |- + Untagged encapsulation for EPL connections. DOT1Q - DOT1Q encapsulation standard. QINQ - QINQ encapsulation standard. + Data frames encapsulation standard.UNTAGGED - Untagged encapsulation for EPL connections. DOT1Q - DOT1Q encapsulation standard. QINQ - QINQ encapsulation standard. + type: string + encapsulationStrategy: + description: |- + (String) Additional tagging information required by the seller profile. + Additional tagging information required by the seller profile. + type: string + reuseVlanSTag: + description: |- + tag assigned as the initial connection. + Automatically accept subsequent DOT1Q to QINQ connections that use the same authentication key. These connections will have the same VLAN S-tag assigned as the initial connection. + type: boolean + type: object supportedBandwidths: description: |- (List of Number) Supported bandwidths @@ -1510,43 +1476,41 @@ spec: description: |- (Block Set, Max: 1) Marketing Info (see below for nested schema) Marketing Info - items: - properties: - logo: - description: |- - (String) Logo - Logo - type: string - processStep: - description: |- - (Block List) Process Step (see below for nested schema) - Process Step - items: - properties: - description: - description: |- - provided service description - Description - type: string - subTitle: - description: |- - (String) Sub Title - Sub Title - type: string - title: - description: |- - (String) Title - Title - type: string - type: object - type: array - promotion: - description: |- - (Boolean) Promotion - Promotion - type: boolean - type: object - type: array + properties: + logo: + description: |- + (String) Logo + Logo + type: string + processStep: + description: |- + (Block List) Process Step (see below for nested schema) + Process Step + items: + properties: + description: + description: |- + provided service description + Description + type: string + subTitle: + description: |- + (String) Sub Title + Sub Title + type: string + title: + description: |- + (String) Title + Title + type: string + type: object + type: array + promotion: + description: |- + (Boolean) Promotion + Promotion + type: boolean + type: object metros: description: |- (Block List) Access point config information (see below for nested schema) @@ -1635,30 +1599,28 @@ spec: description: |- (Block Set, Max: 1) Colo/Port Location (see below for nested schema) Colo/Port Location - items: - properties: - ibx: - description: |- - (String) IBX Code - IBX Code - type: string - metroCode: - description: |- - (String) Access point metro code - Access point metro code - type: string - metroName: - description: |- - (String) Access point metro name - Access point metro name - type: string - region: - description: |- - (String) Access point region - Access point region - type: string - type: object - type: array + properties: + ibx: + description: |- + (String) IBX Code + IBX Code + type: string + metroCode: + description: |- + (String) Access point metro code + Access point metro code + type: string + metroName: + description: |- + (String) Access point metro name + Access point metro name + type: string + region: + description: |- + (String) Access point region + Access point region + type: string + type: object sellerRegion: description: |- (String) Seller Region @@ -1685,20 +1647,18 @@ spec: description: |- (Block Set, Max: 1) Project information (see below for nested schema) Project information - items: - properties: - href: - description: |- - (String) Service Profile URI response attribute - Unique Resource URL - type: string - projectId: - description: |- - (String) Project Id - Project Id - type: string - type: object - type: array + properties: + href: + description: |- + (String) Service Profile URI response attribute + Unique Resource URL + type: string + projectId: + description: |- + (String) Project Id + Project Id + type: string + type: object selfProfile: description: |- (Boolean) Self Profile indicating if the profile is created for customer's self use @@ -1745,30 +1705,28 @@ spec: description: |- (Block Set, Max: 1) Colo/Port Location (see below for nested schema) Device Location - items: - properties: - ibx: - description: |- - (String) IBX Code - IBX Code - type: string - metroCode: - description: |- - (String) Access point metro code - Access point metro code - type: string - metroName: - description: |- - (String) Access point metro name - Access point metro name - type: string - region: - description: |- - (String) Access point region - Access point region - type: string - type: object - type: array + properties: + ibx: + description: |- + (String) IBX Code + IBX Code + type: string + metroCode: + description: |- + (String) Access point metro code + Access point metro code + type: string + metroName: + description: |- + (String) Access point metro name + Access point metro name + type: string + region: + description: |- + (String) Access point region + Access point region + type: string + type: object type: description: |- L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE diff --git a/package/crds/metal.equinix.jet.crossplane.io_devices.yaml b/package/crds/metal.equinix.jet.crossplane.io_devices.yaml index 3f80121..4737a1c 100644 --- a/package/crds/metal.equinix.jet.crossplane.io_devices.yaml +++ b/package/crds/metal.equinix.jet.crossplane.io_devices.yaml @@ -79,17 +79,15 @@ spec: type: boolean behavior: description: '(Block List, Max: 1) (see below for nested schema)' - items: - properties: - allowChanges: - description: |- - (List of String) List of attributes that are allowed to change without recreating the instance. Supported attributes: custom_data, user_data - List of attributes that are allowed to change without recreating the instance. Supported attributes: `custom_data`, `user_data` - items: - type: string - type: array - type: object - type: array + properties: + allowChanges: + description: |- + (List of String) List of attributes that are allowed to change without recreating the instance. Supported attributes: custom_data, user_data + List of attributes that are allowed to change without recreating the instance. Supported attributes: `custom_data`, `user_data` + items: + type: string + type: array + type: object billingCycle: description: |- (String) monthly or hourly @@ -279,25 +277,23 @@ spec: type: array reinstall: description: '(Block List, Max: 1) (see below for nested schema)' - items: - properties: - deprovisionFast: - description: |- - (Boolean) Whether the OS disk should be filled with 00h bytes before reinstall - Whether the OS disk should be filled with `00h` bytes before reinstall - type: boolean - enabled: - description: |- - (Boolean) Whether the device should be reinstalled instead of destroyed - Whether the device should be reinstalled instead of destroyed - type: boolean - preserveData: - description: |- - OS disks should be kept or wiped during reinstall - Whether the non-OS disks should be kept or wiped during reinstall - type: boolean - type: object - type: array + properties: + deprovisionFast: + description: |- + (Boolean) Whether the OS disk should be filled with 00h bytes before reinstall + Whether the OS disk should be filled with `00h` bytes before reinstall + type: boolean + enabled: + description: |- + (Boolean) Whether the device should be reinstalled instead of destroyed + Whether the device should be reinstalled instead of destroyed + type: boolean + preserveData: + description: |- + OS disks should be kept or wiped during reinstall + Whether the non-OS disks should be kept or wiped during reinstall + type: boolean + type: object storage: description: |- (String) JSON for custom partitioning. Only usable on reserved hardware. More information in in the Custom Partitioning and RAID doc @@ -367,17 +363,15 @@ spec: type: boolean behavior: description: '(Block List, Max: 1) (see below for nested schema)' - items: - properties: - allowChanges: - description: |- - (List of String) List of attributes that are allowed to change without recreating the instance. Supported attributes: custom_data, user_data - List of attributes that are allowed to change without recreating the instance. Supported attributes: `custom_data`, `user_data` - items: - type: string - type: array - type: object - type: array + properties: + allowChanges: + description: |- + (List of String) List of attributes that are allowed to change without recreating the instance. Supported attributes: custom_data, user_data + List of attributes that are allowed to change without recreating the instance. Supported attributes: `custom_data`, `user_data` + items: + type: string + type: array + type: object billingCycle: description: |- (String) monthly or hourly @@ -567,25 +561,23 @@ spec: type: array reinstall: description: '(Block List, Max: 1) (see below for nested schema)' - items: - properties: - deprovisionFast: - description: |- - (Boolean) Whether the OS disk should be filled with 00h bytes before reinstall - Whether the OS disk should be filled with `00h` bytes before reinstall - type: boolean - enabled: - description: |- - (Boolean) Whether the device should be reinstalled instead of destroyed - Whether the device should be reinstalled instead of destroyed - type: boolean - preserveData: - description: |- - OS disks should be kept or wiped during reinstall - Whether the non-OS disks should be kept or wiped during reinstall - type: boolean - type: object - type: array + properties: + deprovisionFast: + description: |- + (Boolean) Whether the OS disk should be filled with 00h bytes before reinstall + Whether the OS disk should be filled with `00h` bytes before reinstall + type: boolean + enabled: + description: |- + (Boolean) Whether the device should be reinstalled instead of destroyed + Whether the device should be reinstalled instead of destroyed + type: boolean + preserveData: + description: |- + OS disks should be kept or wiped during reinstall + Whether the non-OS disks should be kept or wiped during reinstall + type: boolean + type: object storage: description: |- (String) JSON for custom partitioning. Only usable on reserved hardware. More information in in the Custom Partitioning and RAID doc @@ -838,17 +830,15 @@ spec: type: boolean behavior: description: '(Block List, Max: 1) (see below for nested schema)' - items: - properties: - allowChanges: - description: |- - (List of String) List of attributes that are allowed to change without recreating the instance. Supported attributes: custom_data, user_data - List of attributes that are allowed to change without recreating the instance. Supported attributes: `custom_data`, `user_data` - items: - type: string - type: array - type: object - type: array + properties: + allowChanges: + description: |- + (List of String) List of attributes that are allowed to change without recreating the instance. Supported attributes: custom_data, user_data + List of attributes that are allowed to change without recreating the instance. Supported attributes: `custom_data`, `user_data` + items: + type: string + type: array + type: object billingCycle: description: |- (String) monthly or hourly @@ -1015,25 +1005,23 @@ spec: type: array reinstall: description: '(Block List, Max: 1) (see below for nested schema)' - items: - properties: - deprovisionFast: - description: |- - (Boolean) Whether the OS disk should be filled with 00h bytes before reinstall - Whether the OS disk should be filled with `00h` bytes before reinstall - type: boolean - enabled: - description: |- - (Boolean) Whether the device should be reinstalled instead of destroyed - Whether the device should be reinstalled instead of destroyed - type: boolean - preserveData: - description: |- - OS disks should be kept or wiped during reinstall - Whether the non-OS disks should be kept or wiped during reinstall - type: boolean - type: object - type: array + properties: + deprovisionFast: + description: |- + (Boolean) Whether the OS disk should be filled with 00h bytes before reinstall + Whether the OS disk should be filled with `00h` bytes before reinstall + type: boolean + enabled: + description: |- + (Boolean) Whether the device should be reinstalled instead of destroyed + Whether the device should be reinstalled instead of destroyed + type: boolean + preserveData: + description: |- + OS disks should be kept or wiped during reinstall + Whether the non-OS disks should be kept or wiped during reinstall + type: boolean + type: object sosHostname: description: |- (String) The hostname to use for Serial over SSH access to the device diff --git a/package/crds/metal.equinix.jet.crossplane.io_spotmarketrequests.yaml b/package/crds/metal.equinix.jet.crossplane.io_spotmarketrequests.yaml index f848338..e238c2b 100644 --- a/package/crds/metal.equinix.jet.crossplane.io_spotmarketrequests.yaml +++ b/package/crds/metal.equinix.jet.crossplane.io_spotmarketrequests.yaml @@ -93,48 +93,46 @@ spec: description: |- Key/Value pairs of parameters for devices provisioned from this request. Valid keys are: billing_cycle, plan, operating_system, hostname, termination_time, always_pxe, description, features, locked, project_ssh_keys, user_ssh_keys, userdata, customdata, ipxe_script_url, tags. You can find each parameter description in equinix_metal_device docs. Parameters for devices provisioned from this request. You can find the parameter description from the [equinix_metal_device doc](device.md) - items: - properties: - alwaysPxe: - type: boolean - billingCycle: - type: string - customdata: - type: string - description: - type: string - features: - items: - type: string - type: array - hostname: + properties: + alwaysPxe: + type: boolean + billingCycle: + type: string + customdata: + type: string + description: + type: string + features: + items: type: string - ipxeScriptUrl: + type: array + hostname: + type: string + ipxeScriptUrl: + type: string + locked: + description: Blocks deletion of the SpotMarketRequest device + until the lock is disabled. + type: boolean + operatingSystem: + type: string + plan: + type: string + projectSshKeys: + items: type: string - locked: - description: Blocks deletion of the SpotMarketRequest device - until the lock is disabled. - type: boolean - operatingSystem: + type: array + tags: + items: type: string - plan: + type: array + userSshKeys: + items: type: string - projectSshKeys: - items: - type: string - type: array - tags: - items: - type: string - type: array - userSshKeys: - items: - type: string - type: array - userdata: - type: string - type: object - type: array + type: array + userdata: + type: string + type: object maxBidPrice: description: |- Maximum price user is willing to pay per hour per device. @@ -264,48 +262,46 @@ spec: description: |- Key/Value pairs of parameters for devices provisioned from this request. Valid keys are: billing_cycle, plan, operating_system, hostname, termination_time, always_pxe, description, features, locked, project_ssh_keys, user_ssh_keys, userdata, customdata, ipxe_script_url, tags. You can find each parameter description in equinix_metal_device docs. Parameters for devices provisioned from this request. You can find the parameter description from the [equinix_metal_device doc](device.md) - items: - properties: - alwaysPxe: - type: boolean - billingCycle: - type: string - customdata: - type: string - description: - type: string - features: - items: - type: string - type: array - hostname: - type: string - ipxeScriptUrl: + properties: + alwaysPxe: + type: boolean + billingCycle: + type: string + customdata: + type: string + description: + type: string + features: + items: type: string - locked: - description: Blocks deletion of the SpotMarketRequest device - until the lock is disabled. - type: boolean - operatingSystem: + type: array + hostname: + type: string + ipxeScriptUrl: + type: string + locked: + description: Blocks deletion of the SpotMarketRequest device + until the lock is disabled. + type: boolean + operatingSystem: + type: string + plan: + type: string + projectSshKeys: + items: type: string - plan: + type: array + tags: + items: type: string - projectSshKeys: - items: - type: string - type: array - tags: - items: - type: string - type: array - userSshKeys: - items: - type: string - type: array - userdata: + type: array + userSshKeys: + items: type: string - type: object - type: array + type: array + userdata: + type: string + type: object maxBidPrice: description: |- Maximum price user is willing to pay per hour per device. @@ -614,52 +610,50 @@ spec: description: |- Key/Value pairs of parameters for devices provisioned from this request. Valid keys are: billing_cycle, plan, operating_system, hostname, termination_time, always_pxe, description, features, locked, project_ssh_keys, user_ssh_keys, userdata, customdata, ipxe_script_url, tags. You can find each parameter description in equinix_metal_device docs. Parameters for devices provisioned from this request. You can find the parameter description from the [equinix_metal_device doc](device.md) - items: - properties: - alwaysPxe: - type: boolean - billingCycle: - type: string - customdata: - type: string - description: - type: string - features: - items: - type: string - type: array - hostname: - type: string - ipxeScriptUrl: - type: string - locked: - description: Blocks deletion of the SpotMarketRequest device - until the lock is disabled. - type: boolean - operatingSystem: - type: string - plan: + properties: + alwaysPxe: + type: boolean + billingCycle: + type: string + customdata: + type: string + description: + type: string + features: + items: type: string - projectSshKeys: - items: - type: string - type: array - tags: - items: - type: string - type: array - terminationTime: + type: array + hostname: + type: string + ipxeScriptUrl: + type: string + locked: + description: Blocks deletion of the SpotMarketRequest device + until the lock is disabled. + type: boolean + operatingSystem: + type: string + plan: + type: string + projectSshKeys: + items: type: string - termintationTime: + type: array + tags: + items: type: string - userSshKeys: - items: - type: string - type: array - userdata: + type: array + terminationTime: + type: string + termintationTime: + type: string + userSshKeys: + items: type: string - type: object - type: array + type: array + userdata: + type: string + type: object maxBidPrice: description: |- Maximum price user is willing to pay per hour per device. diff --git a/package/crds/network.equinix.jet.crossplane.io_devicelinks.yaml b/package/crds/network.equinix.jet.crossplane.io_devicelinks.yaml index f61fda1..5d9819a 100644 --- a/package/crds/network.equinix.jet.crossplane.io_devicelinks.yaml +++ b/package/crds/network.equinix.jet.crossplane.io_devicelinks.yaml @@ -105,6 +105,82 @@ spec: billing account number to be used for connection charges Billing account number to be used for connection charges type: string + accountNumberRef: + description: Reference to a Device in network to populate + accountNumber. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + accountNumberSelector: + description: Selector for a Device in network to populate + accountNumber. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object dstMetroCode: description: |- connection destination metro code. @@ -120,6 +196,82 @@ spec: connection source metro code. Connection source metro code type: string + srcMetroCodeRef: + description: Reference to a Device in network to populate + srcMetroCode. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + srcMetroCodeSelector: + description: Selector for a Device in network to populate + srcMetroCode. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object srcZoneCode: description: |- (Deprecated) connection source zone code is not required. @@ -230,6 +382,82 @@ spec: billing account number to be used for connection charges Billing account number to be used for connection charges type: string + accountNumberRef: + description: Reference to a Device in network to populate + accountNumber. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + accountNumberSelector: + description: Selector for a Device in network to populate + accountNumber. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object dstMetroCode: description: |- connection destination metro code. @@ -245,6 +473,82 @@ spec: connection source metro code. Connection source metro code type: string + srcMetroCodeRef: + description: Reference to a Device in network to populate + srcMetroCode. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + srcMetroCodeSelector: + description: Selector for a Device in network to populate + srcMetroCode. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object srcZoneCode: description: |- (Deprecated) connection source zone code is not required. diff --git a/package/crds/network.equinix.jet.crossplane.io_devices.yaml b/package/crds/network.equinix.jet.crossplane.io_devices.yaml index 7b60ff7..5bdf847 100644 --- a/package/crds/network.equinix.jet.crossplane.io_devices.yaml +++ b/package/crds/network.equinix.jet.crossplane.io_devices.yaml @@ -97,32 +97,1202 @@ spec: Identifier of a cloud init file that will be applied on the device. Unique identifier of applied cloud init file type: string + cloudInitFileIdRef: + description: Reference to a File in network to populate cloudInitFileId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + cloudInitFileIdSelector: + description: Selector for a File in network to populate cloudInitFileId. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + clusterDetails: + description: |- + An object that has the cluster details. See Cluster Details below for more details. + An object that has the cluster details + properties: + clusterName: + description: |- + The name of the cluster device + The name of the cluster device + type: string + node0: + description: |- + An object that has node0 configuration. See Cluster Details - Nodes below for more details. + An object that has node0 details + properties: + licenseFileId: + description: |- + License file id. This is necessary for Fortinet and Juniper clusters. + License file id. This is necessary for Fortinet and Juniper clusters + type: string + licenseTokenSecretRef: + description: |- + License token. This is necessary for Palo Alto clusters. + License token. This is necessary for Palo Alto clusters + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + vendorConfiguration: + description: |- + An object that has fields relevant to the vendor of the cluster device. See Cluster Details - Nodes - Vendor Configuration below for more details. + An object that has fields relevant to the vendor of the cluster device + properties: + activationKeySecretRef: + description: |- + Activation key. This is required for Velocloud clusters. + Activation key. This is required for Velocloud clusters + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + adminPasswordSecretRef: + description: |- + The administrative password of the device. You can use it to log in to the console. This field is not available for all device types. + The administrative password of the device. You can use it to log in to the console. This field is not available for all device types + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + controller1: + description: |- + System IP Address. Mandatory for the Fortinet SDWAN cluster device. + System IP Address. Mandatory for the Fortinet SDWAN cluster device + type: string + controllerFqdn: + description: |- + Controller fqdn. This is required for Velocloud clusters. + Controller fqdn. This is required for Velocloud clusters + type: string + hostname: + description: |- + Hostname. This is necessary for Palo Alto, Juniper, and Fortinet clusters. + Hostname. This is necessary for Palo Alto, Juniper, and Fortinet clusters + type: string + licenseIdSecretRef: + description: |- + interface identifier. + License id. This field is relevant only for the BlueCat DNS and DHCP Server + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + licenseKeySecretRef: + description: License key. This field is relevant only + for the BlueCat DNS and DHCP Server + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + panoramaAuthKeySecretRef: + description: |- + Panorama Server Auth Key. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server. + Panorama Server Auth Key. This field is relevant only for Palo Alto Networks Firewall devices + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + panoramaIpAddress: + description: |- + Panorama Server IP Address. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server. + Panorama Server IP Address. This field is relevant only for Palo Alto Networks Firewall devices + type: string + privateAddress: + description: Private address. This field is relevant + only for the BlueCat DNS and DHCP Server + type: string + privateCidrMask: + description: Private CIDR Mask. This field is relevant + only for the BlueCat DNS and DHCP Server + type: string + privateGateway: + description: Private gateway. This field is relevant + only for the BlueCat DNS and DHCP Server + type: string + rootPasswordSecretRef: + description: |- + The CLI password of the device. This field is relevant only for the Velocloud SDWAN cluster. + The CLI password of the device. This field is relevant only for the Velocloud SDWAN cluster + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + type: object + type: object + node1: + description: |- + An object that has node1 configuration. See Cluster Details - Nodes below for more details. + An object that has node1 details + properties: + licenseFileId: + description: |- + Identifier of a license file that will be applied on a secondary device. + License file id. This is necessary for Fortinet and Juniper clusters + type: string + licenseTokenSecretRef: + description: |- + License Token can be provided for some device types o the device. + License token. This is necessary for Palo Alto clusters + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + vendorConfiguration: + description: |- + Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress, privateAddress, privateCidrMask, privateGateway, licenseKey, licenseId, panoramaAuthKey, panoramaIpAddress) + An object that has fields relevant to the vendor of the cluster device + properties: + activationKeySecretRef: + description: |- + Activation key. This is required for Velocloud clusters. + Activation key. This is required for Velocloud clusters + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + adminPasswordSecretRef: + description: |- + The administrative password of the device. You can use it to log in to the console. This field is not available for all device types. + The administrative password of the device. You can use it to log in to the console. This field is not available for all device types + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + controller1: + description: |- + System IP Address. Mandatory for the Fortinet SDWAN cluster device. + System IP Address. Mandatory for the Fortinet SDWAN cluster device + type: string + controllerFqdn: + description: |- + Controller fqdn. This is required for Velocloud clusters. + Controller fqdn. This is required for Velocloud clusters + type: string + hostname: + description: |- + Secondary device hostname. + Hostname. This is necessary for Palo Alto, Juniper, and Fortinet clusters + type: string + licenseIdSecretRef: + description: |- + interface identifier. + License id. This field is relevant only for the BlueCat DNS and DHCP Server + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + licenseKeySecretRef: + description: License key. This field is relevant only + for the BlueCat DNS and DHCP Server + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + panoramaAuthKeySecretRef: + description: |- + Panorama Server Auth Key. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server. + Panorama Server Auth Key. This field is relevant only for Palo Alto Networks Firewall devices + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + panoramaIpAddress: + description: |- + Panorama Server IP Address. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server. + Panorama Server IP Address. This field is relevant only for Palo Alto Networks Firewall devices + type: string + privateAddress: + description: Private address. This field is relevant + only for the BlueCat DNS and DHCP Server + type: string + privateCidrMask: + description: Private CIDR Mask. This field is relevant + only for the BlueCat DNS and DHCP Server + type: string + privateGateway: + description: Private gateway. This field is relevant + only for the BlueCat DNS and DHCP Server + type: string + rootPasswordSecretRef: + description: |- + The CLI password of the device. This field is relevant only for the Velocloud SDWAN cluster. + The CLI password of the device. This field is relevant only for the Velocloud SDWAN cluster + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + type: object + type: object + type: object + connectivity: + description: |- + Device accessibility (INTERNET-ACCESS or PRIVATE or INTERNET-ACCESS-WITH-PRVT-MGMT). If not specified, default will be INTERNET-ACCESS + Parameter to identify internet access for device. Supported Values: INTERNET-ACCESS(default) or PRIVATE or INTERNET-ACCESS-WITH-PRVT-MGMT + type: string + coreCount: + description: |- + Number of CPU cores used by device. (NOTE: Use this field to resize your device. When resizing your HA devices, primary device will be upgraded first. If the upgrade failed, device will be automatically rolled back to the previous state with original core number.) + Number of CPU cores used by device + type: number + diverseDeviceId: + description: |- + Unique ID of an existing device. Use this field to let Equinix know if you want your new device to be in a different location from any existing virtual device. This field is only meaningful for single devices. + Unique ID of an existing device + type: string + hostname: + description: |- + Device hostname prefix. + Device hostname prefix + type: string + interfaceCount: + description: |- + Number of network interfaces on a device. If not specified, default number for a given device type will be used. + Number of network interfaces on a device. If not specified, default number for a given device type will be used + type: number + licenseFile: + description: |- + Path to the license file that will be uploaded and applied on a device. Applicable for some device types in BYOL licensing mode. + Path to the license file that will be uploaded and applied on a device, applicable for some device types in BYOL licensing mode + type: string + licenseFileId: + description: |- + Identifier of a license file that will be applied on the device. + Unique identifier of applied license file + type: string + licenseToken: + description: |- + License Token applicable for some device types in BYOL licensing mode. + License Token applicable for some device types in BYOL licensing mode + type: string + metroCode: + description: |- + Device location metro code. + Device location metro code + type: string + mgmtAclTemplateUuid: + description: |- + Identifier of an MGMT interface ACL template that will be applied on the device. + Unique identifier of applied MGMT ACL template + type: string + name: + description: |- + Device name. + Device name + type: string + notifications: + description: |- + List of email addresses that will receive device status notifications. + List of email addresses that will receive device status notifications + items: + type: string + type: array + x-kubernetes-list-type: set + orderReference: + description: |- + Name/number used to identify device order on the invoice. + Name/number used to identify device order on the invoice + type: string + packageCode: + description: |- + Device software package code. + Device software package code + type: string + projectId: + description: |- + Unique Identifier for the project resource where the device is scoped to.If you leave it out, the device will be created under the default project id of your organization. + The unique identifier of Project Resource to which device is scoped to + type: string + purchaseOrderNumber: + description: |- + Purchase order number associated with a device order. + Purchase order number associated with a device order + type: string + secondaryDevice: + description: |- + Definition of secondary device for redundant device configurations. See Secondary Device below for more details. + Definition of secondary device applicable for HA setup + properties: + accountNumber: + description: |- + Billing account number for secondary device. + Device billing account number + type: string + aclTemplateId: + description: |- + Identifier of a WAN interface ACL template that will be applied on a secondary device. + Unique identifier of applied ACL template + type: string + additionalBandwidth: + description: |- + Additional Internet bandwidth, in Mbps, for a secondary device. + Additional Internet bandwidth, in Mbps, that will be allocated to the device + type: number + cloudInitFileId: + description: |- + Identifier of a cloud init file that will be applied on a secondary device. + Unique identifier of applied cloud init file + type: string + cloudInitFileIdRef: + description: Reference to a File in network to populate cloudInitFileId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + cloudInitFileIdSelector: + description: Selector for a File in network to populate cloudInitFileId. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + hostname: + description: |- + Secondary device hostname. + Device hostname prefix + type: string + licenseFile: + description: |- + Path to the license file that will be uploaded and applied on a secondary device. Applicable for some device types in BYOL licensing mode. + Path to the license file that will be uploaded and applied on a device, applicable for some device types in BYOL licensing mode + type: string + licenseFileId: + description: |- + Identifier of a license file that will be applied on a secondary device. + Unique identifier of applied license file + type: string + licenseToken: + description: |- + License Token can be provided for some device types o the device. + License Token applicable for some device types in BYOL licensing mode + type: string + metroCode: + description: |- + Metro location of a secondary device. + Device location metro code + type: string + mgmtAclTemplateUuid: + description: |- + Identifier of an MGMT interface ACL template that will be applied on a secondary device. + Unique identifier of applied MGMT ACL template + type: string + name: + description: |- + Secondary device name. + Device name + type: string + notifications: + description: |- + List of email addresses that will receive notifications about secondary device. + List of email addresses that will receive device status notifications + items: + type: string + type: array + x-kubernetes-list-type: set + sshKey: + description: Definition of SSH key that will be provisioned + on a device + properties: + keyName: + description: |- + Device name. + Reference by name to previously provisioned public SSH key + type: string + username: + description: |- + username associated with given key. + Username associated with given key + type: string + type: object + vendorConfiguration: + additionalProperties: + type: string + description: |- + Key/Value pairs of vendor specific configuration parameters for a secondary device. Key values are controller1, activationKey, managementType, siteId, systemIpAddress, privateAddress, privateCidrMask, privateGateway, licenseKey, licenseId, panoramaAuthKey, panoramaIpAddress. + Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress) + type: object + x-kubernetes-map-type: granular + wanInterfaceId: + description: |- + interface identifier. + device interface id picked for WAN + type: string + type: object + selfManaged: + description: |- + Boolean value that determines device management mode, i.e., self-managed or Equinix-managed (default). + Boolean value that determines device management mode: self-managed or subscription (default) + type: boolean + sshKey: + description: Definition of SSH key that will be provisioned on + a device + properties: + keyName: + description: |- + Device name. + Reference by name to previously provisioned public SSH key + type: string + keyNameRef: + description: Reference to a SSHKey in network to populate + keyName. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + keyNameSelector: + description: Selector for a SSHKey in network to populate + keyName. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + username: + description: |- + username associated with given key. + Username associated with given key + type: string + type: object + termLength: + description: |- + Device term length. + Device term length + type: number + throughput: + description: |- + Device license throughput. + Device license throughput + type: number + throughputUnit: + description: |- + License throughput unit. One of Mbps or Gbps. + Device license throughput unit (Mbps or Gbps) + type: string + typeCode: + description: |- + Device type code. + Device type code + type: string + vendorConfiguration: + additionalProperties: + type: string + description: |- + Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress, privateAddress, privateCidrMask, privateGateway, licenseKey, licenseId, panoramaAuthKey, panoramaIpAddress) + Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress) + type: object + x-kubernetes-map-type: granular + version: + description: |- + Device software software version. + Device software software version + type: string + wanInterfaceId: + description: |- + interface identifier. + device interface id picked for WAN + type: string + type: object + initProvider: + description: |- + THIS IS A BETA FIELD. It will be honored + unless the Management Policies feature flag is disabled. + InitProvider holds the same fields as ForProvider, with the exception + of Identifier and other resource reference fields. The fields that are + in InitProvider are merged into ForProvider when the resource is created. + The same fields are also added to the terraform ignore_changes hook, to + avoid updating them after creation. This is useful for fields that are + required on creation, but we do not desire to update them after creation, + for example because of an external controller is managing them, like an + autoscaler. + properties: + accountNumber: + description: |- + Billing account number for a device. + Device billing account number + type: string + aclTemplateId: + description: |- + Identifier of a WAN interface ACL template that will be applied on the device. + Unique identifier of applied ACL template + type: string + additionalBandwidth: + description: |- + Additional Internet bandwidth, in Mbps, that will be allocated to the device (in addition to default 15Mbps). + Additional Internet bandwidth, in Mbps, that will be allocated to the device + type: number + byol: + description: |- + Boolean value that determines device licensing mode, i.e., bring your own license or subscription (default). + Boolean value that determines device licensing mode: bring your own license or subscription (default) + type: boolean + cloudInitFileId: + description: |- + Identifier of a cloud init file that will be applied on the device. + Unique identifier of applied cloud init file + type: string + cloudInitFileIdRef: + description: Reference to a File in network to populate cloudInitFileId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + cloudInitFileIdSelector: + description: Selector for a File in network to populate cloudInitFileId. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object clusterDetails: description: |- An object that has the cluster details. See Cluster Details below for more details. An object that has the cluster details - items: - properties: - clusterName: - description: |- - The name of the cluster device - The name of the cluster device - type: string - node0: - description: |- - An object that has node0 configuration. See Cluster Details - Nodes below for more details. - An object that has node0 details - items: + properties: + clusterName: + description: |- + The name of the cluster device + The name of the cluster device + type: string + node0: + description: |- + An object that has node0 configuration. See Cluster Details - Nodes below for more details. + An object that has node0 details + properties: + licenseFileId: + description: |- + License file id. This is necessary for Fortinet and Juniper clusters. + License file id. This is necessary for Fortinet and Juniper clusters + type: string + licenseTokenSecretRef: + description: |- + License token. This is necessary for Palo Alto clusters. + License token. This is necessary for Palo Alto clusters + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + vendorConfiguration: + description: |- + An object that has fields relevant to the vendor of the cluster device. See Cluster Details - Nodes - Vendor Configuration below for more details. + An object that has fields relevant to the vendor of the cluster device properties: - licenseFileId: + activationKeySecretRef: description: |- - License file id. This is necessary for Fortinet and Juniper clusters. - License file id. This is necessary for Fortinet and Juniper clusters + Activation key. This is required for Velocloud clusters. + Activation key. This is required for Velocloud clusters + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + adminPasswordSecretRef: + description: |- + The administrative password of the device. You can use it to log in to the console. This field is not available for all device types. + The administrative password of the device. You can use it to log in to the console. This field is not available for all device types + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + controller1: + description: |- + System IP Address. Mandatory for the Fortinet SDWAN cluster device. + System IP Address. Mandatory for the Fortinet SDWAN cluster device + type: string + controllerFqdn: + description: |- + Controller fqdn. This is required for Velocloud clusters. + Controller fqdn. This is required for Velocloud clusters + type: string + hostname: + description: |- + Hostname. This is necessary for Palo Alto, Juniper, and Fortinet clusters. + Hostname. This is necessary for Palo Alto, Juniper, and Fortinet clusters + type: string + licenseIdSecretRef: + description: |- + interface identifier. + License id. This field is relevant only for the BlueCat DNS and DHCP Server + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + licenseKeySecretRef: + description: License key. This field is relevant only + for the BlueCat DNS and DHCP Server + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + panoramaAuthKeySecretRef: + description: |- + Panorama Server Auth Key. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server. + Panorama Server Auth Key. This field is relevant only for Palo Alto Networks Firewall devices + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + panoramaIpAddress: + description: |- + Panorama Server IP Address. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server. + Panorama Server IP Address. This field is relevant only for Palo Alto Networks Firewall devices + type: string + privateAddress: + description: Private address. This field is relevant + only for the BlueCat DNS and DHCP Server + type: string + privateCidrMask: + description: Private CIDR Mask. This field is relevant + only for the BlueCat DNS and DHCP Server + type: string + privateGateway: + description: Private gateway. This field is relevant + only for the BlueCat DNS and DHCP Server + type: string + rootPasswordSecretRef: + description: |- + The CLI password of the device. This field is relevant only for the Velocloud SDWAN cluster. + The CLI password of the device. This field is relevant only for the Velocloud SDWAN cluster + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + type: object + type: object + node1: + description: |- + An object that has node1 configuration. See Cluster Details - Nodes below for more details. + An object that has node1 details + properties: + licenseFileId: + description: |- + Identifier of a license file that will be applied on a secondary device. + License file id. This is necessary for Fortinet and Juniper clusters + type: string + licenseTokenSecretRef: + description: |- + License Token can be provided for some device types o the device. + License token. This is necessary for Palo Alto clusters + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. type: string - licenseTokenSecretRef: + required: + - key + - name + - namespace + type: object + vendorConfiguration: + description: |- + Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress, privateAddress, privateCidrMask, privateGateway, licenseKey, licenseId, panoramaAuthKey, panoramaIpAddress) + An object that has fields relevant to the vendor of the cluster device + properties: + activationKeySecretRef: + description: |- + Activation key. This is required for Velocloud clusters. + Activation key. This is required for Velocloud clusters + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + adminPasswordSecretRef: description: |- - License token. This is necessary for Palo Alto clusters. - License token. This is necessary for Palo Alto clusters + The administrative password of the device. You can use it to log in to the console. This field is not available for all device types. + The administrative password of the device. You can use it to log in to the console. This field is not available for all device types properties: key: description: The key to select. @@ -138,179 +1308,25 @@ spec: - name - namespace type: object - vendorConfiguration: + controller1: description: |- - An object that has fields relevant to the vendor of the cluster device. See Cluster Details - Nodes - Vendor Configuration below for more details. - An object that has fields relevant to the vendor of the cluster device - items: - properties: - activationKeySecretRef: - description: |- - Activation key. This is required for Velocloud clusters. - Activation key. This is required for Velocloud clusters - properties: - key: - description: The key to select. - type: string - name: - description: Name of the secret. - type: string - namespace: - description: Namespace of the secret. - type: string - required: - - key - - name - - namespace - type: object - adminPasswordSecretRef: - description: |- - The administrative password of the device. You can use it to log in to the console. This field is not available for all device types. - The administrative password of the device. You can use it to log in to the console. This field is not available for all device types - properties: - key: - description: The key to select. - type: string - name: - description: Name of the secret. - type: string - namespace: - description: Namespace of the secret. - type: string - required: - - key - - name - - namespace - type: object - controller1: - description: |- - System IP Address. Mandatory for the Fortinet SDWAN cluster device. - System IP Address. Mandatory for the Fortinet SDWAN cluster device - type: string - controllerFqdn: - description: |- - Controller fqdn. This is required for Velocloud clusters. - Controller fqdn. This is required for Velocloud clusters - type: string - hostname: - description: |- - Hostname. This is necessary for Palo Alto, Juniper, and Fortinet clusters. - Hostname. This is necessary for Palo Alto, Juniper, and Fortinet clusters - type: string - licenseIdSecretRef: - description: |- - interface identifier. - License id. This field is relevant only for the BlueCat DNS and DHCP Server - properties: - key: - description: The key to select. - type: string - name: - description: Name of the secret. - type: string - namespace: - description: Namespace of the secret. - type: string - required: - - key - - name - - namespace - type: object - licenseKeySecretRef: - description: License key. This field is relevant - only for the BlueCat DNS and DHCP Server - properties: - key: - description: The key to select. - type: string - name: - description: Name of the secret. - type: string - namespace: - description: Namespace of the secret. - type: string - required: - - key - - name - - namespace - type: object - panoramaAuthKeySecretRef: - description: |- - Panorama Server Auth Key. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server. - Panorama Server Auth Key. This field is relevant only for Palo Alto Networks Firewall devices - properties: - key: - description: The key to select. - type: string - name: - description: Name of the secret. - type: string - namespace: - description: Namespace of the secret. - type: string - required: - - key - - name - - namespace - type: object - panoramaIpAddress: - description: |- - Panorama Server IP Address. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server. - Panorama Server IP Address. This field is relevant only for Palo Alto Networks Firewall devices - type: string - privateAddress: - description: Private address. This field is - relevant only for the BlueCat DNS and DHCP - Server - type: string - privateCidrMask: - description: Private CIDR Mask. This field is - relevant only for the BlueCat DNS and DHCP - Server - type: string - privateGateway: - description: Private gateway. This field is - relevant only for the BlueCat DNS and DHCP - Server - type: string - rootPasswordSecretRef: - description: |- - The CLI password of the device. This field is relevant only for the Velocloud SDWAN cluster. - The CLI password of the device. This field is relevant only for the Velocloud SDWAN cluster - properties: - key: - description: The key to select. - type: string - name: - description: Name of the secret. - type: string - namespace: - description: Namespace of the secret. - type: string - required: - - key - - name - - namespace - type: object - type: object - type: array - type: object - type: array - node1: - description: |- - An object that has node1 configuration. See Cluster Details - Nodes below for more details. - An object that has node1 details - items: - properties: - licenseFileId: + System IP Address. Mandatory for the Fortinet SDWAN cluster device. + System IP Address. Mandatory for the Fortinet SDWAN cluster device + type: string + controllerFqdn: + description: |- + Controller fqdn. This is required for Velocloud clusters. + Controller fqdn. This is required for Velocloud clusters + type: string + hostname: description: |- - Identifier of a license file that will be applied on a secondary device. - License file id. This is necessary for Fortinet and Juniper clusters + Secondary device hostname. + Hostname. This is necessary for Palo Alto, Juniper, and Fortinet clusters type: string - licenseTokenSecretRef: + licenseIdSecretRef: description: |- - License Token can be provided for some device types o the device. - License token. This is necessary for Palo Alto clusters + interface identifier. + License id. This field is relevant only for the BlueCat DNS and DHCP Server properties: key: description: The key to select. @@ -326,475 +1342,9 @@ spec: - name - namespace type: object - vendorConfiguration: - description: |- - Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress, privateAddress, privateCidrMask, privateGateway, licenseKey, licenseId, panoramaAuthKey, panoramaIpAddress) - An object that has fields relevant to the vendor of the cluster device - items: - properties: - activationKeySecretRef: - description: |- - Activation key. This is required for Velocloud clusters. - Activation key. This is required for Velocloud clusters - properties: - key: - description: The key to select. - type: string - name: - description: Name of the secret. - type: string - namespace: - description: Namespace of the secret. - type: string - required: - - key - - name - - namespace - type: object - adminPasswordSecretRef: - description: |- - The administrative password of the device. You can use it to log in to the console. This field is not available for all device types. - The administrative password of the device. You can use it to log in to the console. This field is not available for all device types - properties: - key: - description: The key to select. - type: string - name: - description: Name of the secret. - type: string - namespace: - description: Namespace of the secret. - type: string - required: - - key - - name - - namespace - type: object - controller1: - description: |- - System IP Address. Mandatory for the Fortinet SDWAN cluster device. - System IP Address. Mandatory for the Fortinet SDWAN cluster device - type: string - controllerFqdn: - description: |- - Controller fqdn. This is required for Velocloud clusters. - Controller fqdn. This is required for Velocloud clusters - type: string - hostname: - description: |- - Secondary device hostname. - Hostname. This is necessary for Palo Alto, Juniper, and Fortinet clusters - type: string - licenseIdSecretRef: - description: |- - interface identifier. - License id. This field is relevant only for the BlueCat DNS and DHCP Server - properties: - key: - description: The key to select. - type: string - name: - description: Name of the secret. - type: string - namespace: - description: Namespace of the secret. - type: string - required: - - key - - name - - namespace - type: object - licenseKeySecretRef: - description: License key. This field is relevant - only for the BlueCat DNS and DHCP Server - properties: - key: - description: The key to select. - type: string - name: - description: Name of the secret. - type: string - namespace: - description: Namespace of the secret. - type: string - required: - - key - - name - - namespace - type: object - panoramaAuthKeySecretRef: - description: |- - Panorama Server Auth Key. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server. - Panorama Server Auth Key. This field is relevant only for Palo Alto Networks Firewall devices - properties: - key: - description: The key to select. - type: string - name: - description: Name of the secret. - type: string - namespace: - description: Namespace of the secret. - type: string - required: - - key - - name - - namespace - type: object - panoramaIpAddress: - description: |- - Panorama Server IP Address. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server. - Panorama Server IP Address. This field is relevant only for Palo Alto Networks Firewall devices - type: string - privateAddress: - description: Private address. This field is - relevant only for the BlueCat DNS and DHCP - Server - type: string - privateCidrMask: - description: Private CIDR Mask. This field is - relevant only for the BlueCat DNS and DHCP - Server - type: string - privateGateway: - description: Private gateway. This field is - relevant only for the BlueCat DNS and DHCP - Server - type: string - rootPasswordSecretRef: - description: |- - The CLI password of the device. This field is relevant only for the Velocloud SDWAN cluster. - The CLI password of the device. This field is relevant only for the Velocloud SDWAN cluster - properties: - key: - description: The key to select. - type: string - name: - description: Name of the secret. - type: string - namespace: - description: Namespace of the secret. - type: string - required: - - key - - name - - namespace - type: object - type: object - type: array - type: object - type: array - type: object - type: array - connectivity: - description: |- - Device accessibility (INTERNET-ACCESS or PRIVATE or INTERNET-ACCESS-WITH-PRVT-MGMT). If not specified, default will be INTERNET-ACCESS - Parameter to identify internet access for device. Supported Values: INTERNET-ACCESS(default) or PRIVATE or INTERNET-ACCESS-WITH-PRVT-MGMT - type: string - coreCount: - description: |- - Number of CPU cores used by device. (NOTE: Use this field to resize your device. When resizing your HA devices, primary device will be upgraded first. If the upgrade failed, device will be automatically rolled back to the previous state with original core number.) - Number of CPU cores used by device - type: number - diverseDeviceId: - description: |- - Unique ID of an existing device. Use this field to let Equinix know if you want your new device to be in a different location from any existing virtual device. This field is only meaningful for single devices. - Unique ID of an existing device - type: string - hostname: - description: |- - Device hostname prefix. - Device hostname prefix - type: string - interfaceCount: - description: |- - Number of network interfaces on a device. If not specified, default number for a given device type will be used. - Number of network interfaces on a device. If not specified, default number for a given device type will be used - type: number - licenseFile: - description: |- - Path to the license file that will be uploaded and applied on a device. Applicable for some device types in BYOL licensing mode. - Path to the license file that will be uploaded and applied on a device, applicable for some device types in BYOL licensing mode - type: string - licenseFileId: - description: |- - Identifier of a license file that will be applied on the device. - Unique identifier of applied license file - type: string - licenseToken: - description: |- - License Token applicable for some device types in BYOL licensing mode. - License Token applicable for some device types in BYOL licensing mode - type: string - metroCode: - description: |- - Device location metro code. - Device location metro code - type: string - mgmtAclTemplateUuid: - description: |- - Identifier of an MGMT interface ACL template that will be applied on the device. - Unique identifier of applied MGMT ACL template - type: string - name: - description: |- - Device name. - Device name - type: string - notifications: - description: |- - List of email addresses that will receive device status notifications. - List of email addresses that will receive device status notifications - items: - type: string - type: array - x-kubernetes-list-type: set - orderReference: - description: |- - Name/number used to identify device order on the invoice. - Name/number used to identify device order on the invoice - type: string - packageCode: - description: |- - Device software package code. - Device software package code - type: string - projectId: - description: |- - Unique Identifier for the project resource where the device is scoped to.If you leave it out, the device will be created under the default project id of your organization. - The unique identifier of Project Resource to which device is scoped to - type: string - purchaseOrderNumber: - description: |- - Purchase order number associated with a device order. - Purchase order number associated with a device order - type: string - secondaryDevice: - description: |- - Definition of secondary device for redundant device configurations. See Secondary Device below for more details. - Definition of secondary device applicable for HA setup - items: - properties: - accountNumber: - description: |- - Billing account number for secondary device. - Device billing account number - type: string - aclTemplateId: - description: |- - Identifier of a WAN interface ACL template that will be applied on a secondary device. - Unique identifier of applied ACL template - type: string - additionalBandwidth: - description: |- - Additional Internet bandwidth, in Mbps, for a secondary device. - Additional Internet bandwidth, in Mbps, that will be allocated to the device - type: number - cloudInitFileId: - description: |- - Identifier of a cloud init file that will be applied on a secondary device. - Unique identifier of applied cloud init file - type: string - hostname: - description: |- - Secondary device hostname. - Device hostname prefix - type: string - licenseFile: - description: |- - Path to the license file that will be uploaded and applied on a secondary device. Applicable for some device types in BYOL licensing mode. - Path to the license file that will be uploaded and applied on a device, applicable for some device types in BYOL licensing mode - type: string - licenseFileId: - description: |- - Identifier of a license file that will be applied on a secondary device. - Unique identifier of applied license file - type: string - licenseToken: - description: |- - License Token can be provided for some device types o the device. - License Token applicable for some device types in BYOL licensing mode - type: string - metroCode: - description: |- - Metro location of a secondary device. - Device location metro code - type: string - mgmtAclTemplateUuid: - description: |- - Identifier of an MGMT interface ACL template that will be applied on a secondary device. - Unique identifier of applied MGMT ACL template - type: string - name: - description: |- - Secondary device name. - Device name - type: string - notifications: - description: |- - List of email addresses that will receive notifications about secondary device. - List of email addresses that will receive device status notifications - items: - type: string - type: array - x-kubernetes-list-type: set - sshKey: - description: Definition of SSH key that will be provisioned - on a device - items: - properties: - keyName: - description: |- - Device name. - Reference by name to previously provisioned public SSH key - type: string - username: - description: |- - username associated with given key. - Username associated with given key - type: string - type: object - type: array - vendorConfiguration: - additionalProperties: - type: string - description: |- - Key/Value pairs of vendor specific configuration parameters for a secondary device. Key values are controller1, activationKey, managementType, siteId, systemIpAddress, privateAddress, privateCidrMask, privateGateway, licenseKey, licenseId, panoramaAuthKey, panoramaIpAddress. - Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress) - type: object - x-kubernetes-map-type: granular - wanInterfaceId: - description: |- - interface identifier. - device interface id picked for WAN - type: string - type: object - type: array - selfManaged: - description: |- - Boolean value that determines device management mode, i.e., self-managed or Equinix-managed (default). - Boolean value that determines device management mode: self-managed or subscription (default) - type: boolean - sshKey: - description: Definition of SSH key that will be provisioned on - a device - items: - properties: - keyName: - description: |- - Device name. - Reference by name to previously provisioned public SSH key - type: string - username: - description: |- - username associated with given key. - Username associated with given key - type: string - type: object - type: array - termLength: - description: |- - Device term length. - Device term length - type: number - throughput: - description: |- - Device license throughput. - Device license throughput - type: number - throughputUnit: - description: |- - License throughput unit. One of Mbps or Gbps. - Device license throughput unit (Mbps or Gbps) - type: string - typeCode: - description: |- - Device type code. - Device type code - type: string - vendorConfiguration: - additionalProperties: - type: string - description: |- - Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress, privateAddress, privateCidrMask, privateGateway, licenseKey, licenseId, panoramaAuthKey, panoramaIpAddress) - Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress) - type: object - x-kubernetes-map-type: granular - version: - description: |- - Device software software version. - Device software software version - type: string - wanInterfaceId: - description: |- - interface identifier. - device interface id picked for WAN - type: string - type: object - initProvider: - description: |- - THIS IS A BETA FIELD. It will be honored - unless the Management Policies feature flag is disabled. - InitProvider holds the same fields as ForProvider, with the exception - of Identifier and other resource reference fields. The fields that are - in InitProvider are merged into ForProvider when the resource is created. - The same fields are also added to the terraform ignore_changes hook, to - avoid updating them after creation. This is useful for fields that are - required on creation, but we do not desire to update them after creation, - for example because of an external controller is managing them, like an - autoscaler. - properties: - accountNumber: - description: |- - Billing account number for a device. - Device billing account number - type: string - aclTemplateId: - description: |- - Identifier of a WAN interface ACL template that will be applied on the device. - Unique identifier of applied ACL template - type: string - additionalBandwidth: - description: |- - Additional Internet bandwidth, in Mbps, that will be allocated to the device (in addition to default 15Mbps). - Additional Internet bandwidth, in Mbps, that will be allocated to the device - type: number - byol: - description: |- - Boolean value that determines device licensing mode, i.e., bring your own license or subscription (default). - Boolean value that determines device licensing mode: bring your own license or subscription (default) - type: boolean - cloudInitFileId: - description: |- - Identifier of a cloud init file that will be applied on the device. - Unique identifier of applied cloud init file - type: string - clusterDetails: - description: |- - An object that has the cluster details. See Cluster Details below for more details. - An object that has the cluster details - items: - properties: - clusterName: - description: |- - The name of the cluster device - The name of the cluster device - type: string - node0: - description: |- - An object that has node0 configuration. See Cluster Details - Nodes below for more details. - An object that has node0 details - items: - properties: - licenseFileId: - description: |- - License file id. This is necessary for Fortinet and Juniper clusters. - License file id. This is necessary for Fortinet and Juniper clusters - type: string - licenseTokenSecretRef: - description: |- - License token. This is necessary for Palo Alto clusters. - License token. This is necessary for Palo Alto clusters + licenseKeySecretRef: + description: License key. This field is relevant only + for the BlueCat DNS and DHCP Server properties: key: description: The key to select. @@ -810,179 +1360,46 @@ spec: - name - namespace type: object - vendorConfiguration: + panoramaAuthKeySecretRef: description: |- - An object that has fields relevant to the vendor of the cluster device. See Cluster Details - Nodes - Vendor Configuration below for more details. - An object that has fields relevant to the vendor of the cluster device - items: - properties: - activationKeySecretRef: - description: |- - Activation key. This is required for Velocloud clusters. - Activation key. This is required for Velocloud clusters - properties: - key: - description: The key to select. - type: string - name: - description: Name of the secret. - type: string - namespace: - description: Namespace of the secret. - type: string - required: - - key - - name - - namespace - type: object - adminPasswordSecretRef: - description: |- - The administrative password of the device. You can use it to log in to the console. This field is not available for all device types. - The administrative password of the device. You can use it to log in to the console. This field is not available for all device types - properties: - key: - description: The key to select. - type: string - name: - description: Name of the secret. - type: string - namespace: - description: Namespace of the secret. - type: string - required: - - key - - name - - namespace - type: object - controller1: - description: |- - System IP Address. Mandatory for the Fortinet SDWAN cluster device. - System IP Address. Mandatory for the Fortinet SDWAN cluster device - type: string - controllerFqdn: - description: |- - Controller fqdn. This is required for Velocloud clusters. - Controller fqdn. This is required for Velocloud clusters - type: string - hostname: - description: |- - Hostname. This is necessary for Palo Alto, Juniper, and Fortinet clusters. - Hostname. This is necessary for Palo Alto, Juniper, and Fortinet clusters - type: string - licenseIdSecretRef: - description: |- - interface identifier. - License id. This field is relevant only for the BlueCat DNS and DHCP Server - properties: - key: - description: The key to select. - type: string - name: - description: Name of the secret. - type: string - namespace: - description: Namespace of the secret. - type: string - required: - - key - - name - - namespace - type: object - licenseKeySecretRef: - description: License key. This field is relevant - only for the BlueCat DNS and DHCP Server - properties: - key: - description: The key to select. - type: string - name: - description: Name of the secret. - type: string - namespace: - description: Namespace of the secret. - type: string - required: - - key - - name - - namespace - type: object - panoramaAuthKeySecretRef: - description: |- - Panorama Server Auth Key. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server. - Panorama Server Auth Key. This field is relevant only for Palo Alto Networks Firewall devices - properties: - key: - description: The key to select. - type: string - name: - description: Name of the secret. - type: string - namespace: - description: Namespace of the secret. - type: string - required: - - key - - name - - namespace - type: object - panoramaIpAddress: - description: |- - Panorama Server IP Address. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server. - Panorama Server IP Address. This field is relevant only for Palo Alto Networks Firewall devices - type: string - privateAddress: - description: Private address. This field is - relevant only for the BlueCat DNS and DHCP - Server - type: string - privateCidrMask: - description: Private CIDR Mask. This field is - relevant only for the BlueCat DNS and DHCP - Server - type: string - privateGateway: - description: Private gateway. This field is - relevant only for the BlueCat DNS and DHCP - Server - type: string - rootPasswordSecretRef: - description: |- - The CLI password of the device. This field is relevant only for the Velocloud SDWAN cluster. - The CLI password of the device. This field is relevant only for the Velocloud SDWAN cluster - properties: - key: - description: The key to select. - type: string - name: - description: Name of the secret. - type: string - namespace: - description: Namespace of the secret. - type: string - required: - - key - - name - - namespace - type: object - type: object - type: array - type: object - type: array - node1: - description: |- - An object that has node1 configuration. See Cluster Details - Nodes below for more details. - An object that has node1 details - items: - properties: - licenseFileId: + Panorama Server Auth Key. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server. + Panorama Server Auth Key. This field is relevant only for Palo Alto Networks Firewall devices + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + panoramaIpAddress: description: |- - Identifier of a license file that will be applied on a secondary device. - License file id. This is necessary for Fortinet and Juniper clusters + Panorama Server IP Address. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server. + Panorama Server IP Address. This field is relevant only for Palo Alto Networks Firewall devices type: string - licenseTokenSecretRef: + privateAddress: + description: Private address. This field is relevant + only for the BlueCat DNS and DHCP Server + type: string + privateCidrMask: + description: Private CIDR Mask. This field is relevant + only for the BlueCat DNS and DHCP Server + type: string + privateGateway: + description: Private gateway. This field is relevant + only for the BlueCat DNS and DHCP Server + type: string + rootPasswordSecretRef: description: |- - License Token can be provided for some device types o the device. - License token. This is necessary for Palo Alto clusters + The CLI password of the device. This field is relevant only for the Velocloud SDWAN cluster. + The CLI password of the device. This field is relevant only for the Velocloud SDWAN cluster properties: key: description: The key to select. @@ -998,166 +1415,9 @@ spec: - name - namespace type: object - vendorConfiguration: - description: |- - Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress, privateAddress, privateCidrMask, privateGateway, licenseKey, licenseId, panoramaAuthKey, panoramaIpAddress) - An object that has fields relevant to the vendor of the cluster device - items: - properties: - activationKeySecretRef: - description: |- - Activation key. This is required for Velocloud clusters. - Activation key. This is required for Velocloud clusters - properties: - key: - description: The key to select. - type: string - name: - description: Name of the secret. - type: string - namespace: - description: Namespace of the secret. - type: string - required: - - key - - name - - namespace - type: object - adminPasswordSecretRef: - description: |- - The administrative password of the device. You can use it to log in to the console. This field is not available for all device types. - The administrative password of the device. You can use it to log in to the console. This field is not available for all device types - properties: - key: - description: The key to select. - type: string - name: - description: Name of the secret. - type: string - namespace: - description: Namespace of the secret. - type: string - required: - - key - - name - - namespace - type: object - controller1: - description: |- - System IP Address. Mandatory for the Fortinet SDWAN cluster device. - System IP Address. Mandatory for the Fortinet SDWAN cluster device - type: string - controllerFqdn: - description: |- - Controller fqdn. This is required for Velocloud clusters. - Controller fqdn. This is required for Velocloud clusters - type: string - hostname: - description: |- - Secondary device hostname. - Hostname. This is necessary for Palo Alto, Juniper, and Fortinet clusters - type: string - licenseIdSecretRef: - description: |- - interface identifier. - License id. This field is relevant only for the BlueCat DNS and DHCP Server - properties: - key: - description: The key to select. - type: string - name: - description: Name of the secret. - type: string - namespace: - description: Namespace of the secret. - type: string - required: - - key - - name - - namespace - type: object - licenseKeySecretRef: - description: License key. This field is relevant - only for the BlueCat DNS and DHCP Server - properties: - key: - description: The key to select. - type: string - name: - description: Name of the secret. - type: string - namespace: - description: Namespace of the secret. - type: string - required: - - key - - name - - namespace - type: object - panoramaAuthKeySecretRef: - description: |- - Panorama Server Auth Key. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server. - Panorama Server Auth Key. This field is relevant only for Palo Alto Networks Firewall devices - properties: - key: - description: The key to select. - type: string - name: - description: Name of the secret. - type: string - namespace: - description: Namespace of the secret. - type: string - required: - - key - - name - - namespace - type: object - panoramaIpAddress: - description: |- - Panorama Server IP Address. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server. - Panorama Server IP Address. This field is relevant only for Palo Alto Networks Firewall devices - type: string - privateAddress: - description: Private address. This field is - relevant only for the BlueCat DNS and DHCP - Server - type: string - privateCidrMask: - description: Private CIDR Mask. This field is - relevant only for the BlueCat DNS and DHCP - Server - type: string - privateGateway: - description: Private gateway. This field is - relevant only for the BlueCat DNS and DHCP - Server - type: string - rootPasswordSecretRef: - description: |- - The CLI password of the device. This field is relevant only for the Velocloud SDWAN cluster. - The CLI password of the device. This field is relevant only for the Velocloud SDWAN cluster - properties: - key: - description: The key to select. - type: string - name: - description: Name of the secret. - type: string - namespace: - description: Namespace of the secret. - type: string - required: - - key - - name - - namespace - type: object - type: object - type: array type: object - type: array - type: object - type: array + type: object + type: object connectivity: description: |- Device accessibility (INTERNET-ACCESS or PRIVATE or INTERNET-ACCESS-WITH-PRVT-MGMT). If not specified, default will be INTERNET-ACCESS @@ -1245,103 +1505,173 @@ spec: description: |- Definition of secondary device for redundant device configurations. See Secondary Device below for more details. Definition of secondary device applicable for HA setup - items: - properties: - accountNumber: - description: |- - Billing account number for secondary device. - Device billing account number - type: string - aclTemplateId: - description: |- - Identifier of a WAN interface ACL template that will be applied on a secondary device. - Unique identifier of applied ACL template - type: string - additionalBandwidth: - description: |- - Additional Internet bandwidth, in Mbps, for a secondary device. - Additional Internet bandwidth, in Mbps, that will be allocated to the device - type: number - cloudInitFileId: - description: |- - Identifier of a cloud init file that will be applied on a secondary device. - Unique identifier of applied cloud init file - type: string - hostname: - description: |- - Secondary device hostname. - Device hostname prefix - type: string - licenseFile: - description: |- - Path to the license file that will be uploaded and applied on a secondary device. Applicable for some device types in BYOL licensing mode. - Path to the license file that will be uploaded and applied on a device, applicable for some device types in BYOL licensing mode - type: string - licenseFileId: - description: |- - Identifier of a license file that will be applied on a secondary device. - Unique identifier of applied license file - type: string - licenseToken: - description: |- - License Token can be provided for some device types o the device. - License Token applicable for some device types in BYOL licensing mode - type: string - metroCode: - description: |- - Metro location of a secondary device. - Device location metro code - type: string - mgmtAclTemplateUuid: - description: |- - Identifier of an MGMT interface ACL template that will be applied on a secondary device. - Unique identifier of applied MGMT ACL template - type: string - name: - description: |- - Secondary device name. - Device name - type: string - notifications: - description: |- - List of email addresses that will receive notifications about secondary device. - List of email addresses that will receive device status notifications - items: + properties: + accountNumber: + description: |- + Billing account number for secondary device. + Device billing account number + type: string + aclTemplateId: + description: |- + Identifier of a WAN interface ACL template that will be applied on a secondary device. + Unique identifier of applied ACL template + type: string + additionalBandwidth: + description: |- + Additional Internet bandwidth, in Mbps, for a secondary device. + Additional Internet bandwidth, in Mbps, that will be allocated to the device + type: number + cloudInitFileId: + description: |- + Identifier of a cloud init file that will be applied on a secondary device. + Unique identifier of applied cloud init file + type: string + cloudInitFileIdRef: + description: Reference to a File in network to populate cloudInitFileId. + properties: + name: + description: Name of the referenced object. type: string - type: array - x-kubernetes-list-type: set - sshKey: - description: Definition of SSH key that will be provisioned - on a device - items: + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + cloudInitFileIdSelector: + description: Selector for a File in network to populate cloudInitFileId. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. properties: - keyName: + resolution: + default: Required description: |- - Device name. - Reference by name to previously provisioned public SSH key + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional type: string - username: + resolve: description: |- - username associated with given key. - Username associated with given key + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent type: string type: object - type: array - vendorConfiguration: - additionalProperties: + type: object + hostname: + description: |- + Secondary device hostname. + Device hostname prefix + type: string + licenseFile: + description: |- + Path to the license file that will be uploaded and applied on a secondary device. Applicable for some device types in BYOL licensing mode. + Path to the license file that will be uploaded and applied on a device, applicable for some device types in BYOL licensing mode + type: string + licenseFileId: + description: |- + Identifier of a license file that will be applied on a secondary device. + Unique identifier of applied license file + type: string + licenseToken: + description: |- + License Token can be provided for some device types o the device. + License Token applicable for some device types in BYOL licensing mode + type: string + metroCode: + description: |- + Metro location of a secondary device. + Device location metro code + type: string + mgmtAclTemplateUuid: + description: |- + Identifier of an MGMT interface ACL template that will be applied on a secondary device. + Unique identifier of applied MGMT ACL template + type: string + name: + description: |- + Secondary device name. + Device name + type: string + notifications: + description: |- + List of email addresses that will receive notifications about secondary device. + List of email addresses that will receive device status notifications + items: + type: string + type: array + x-kubernetes-list-type: set + sshKey: + description: Definition of SSH key that will be provisioned + on a device + properties: + keyName: + description: |- + Device name. + Reference by name to previously provisioned public SSH key type: string - description: |- - Key/Value pairs of vendor specific configuration parameters for a secondary device. Key values are controller1, activationKey, managementType, siteId, systemIpAddress, privateAddress, privateCidrMask, privateGateway, licenseKey, licenseId, panoramaAuthKey, panoramaIpAddress. - Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress) - type: object - x-kubernetes-map-type: granular - wanInterfaceId: - description: |- - interface identifier. - device interface id picked for WAN + username: + description: |- + username associated with given key. + Username associated with given key + type: string + type: object + vendorConfiguration: + additionalProperties: type: string - type: object - type: array + description: |- + Key/Value pairs of vendor specific configuration parameters for a secondary device. Key values are controller1, activationKey, managementType, siteId, systemIpAddress, privateAddress, privateCidrMask, privateGateway, licenseKey, licenseId, panoramaAuthKey, panoramaIpAddress. + Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress) + type: object + x-kubernetes-map-type: granular + wanInterfaceId: + description: |- + interface identifier. + device interface id picked for WAN + type: string + type: object selfManaged: description: |- Boolean value that determines device management mode, i.e., self-managed or Equinix-managed (default). @@ -1350,20 +1680,94 @@ spec: sshKey: description: Definition of SSH key that will be provisioned on a device - items: - properties: - keyName: - description: |- - Device name. - Reference by name to previously provisioned public SSH key - type: string - username: - description: |- - username associated with given key. - Username associated with given key - type: string - type: object - type: array + properties: + keyName: + description: |- + Device name. + Reference by name to previously provisioned public SSH key + type: string + keyNameRef: + description: Reference to a SSHKey in network to populate + keyName. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + keyNameSelector: + description: Selector for a SSHKey in network to populate + keyName. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + username: + description: |- + username associated with given key. + Username associated with given key + type: string + type: object termLength: description: |- Device term length. @@ -1646,157 +2050,141 @@ spec: description: |- An object that has the cluster details. See Cluster Details below for more details. An object that has the cluster details - items: - properties: - clusterId: - description: |- - The ID of the cluster. - The id of the cluster - type: string - clusterName: - description: |- - The name of the cluster device - The name of the cluster device - type: string - node0: - description: |- - An object that has node0 configuration. See Cluster Details - Nodes below for more details. - An object that has node0 details - items: + properties: + clusterId: + description: |- + The ID of the cluster. + The id of the cluster + type: string + clusterName: + description: |- + The name of the cluster device + The name of the cluster device + type: string + node0: + description: |- + An object that has node0 configuration. See Cluster Details - Nodes below for more details. + An object that has node0 details + properties: + licenseFileId: + description: |- + License file id. This is necessary for Fortinet and Juniper clusters. + License file id. This is necessary for Fortinet and Juniper clusters + type: string + name: + description: |- + reference by name to previously provisioned public SSH key. + The name of the node + type: string + uuid: + description: |- + Device unique identifier. + The unique id of the node + type: string + vendorConfiguration: + description: |- + An object that has fields relevant to the vendor of the cluster device. See Cluster Details - Nodes - Vendor Configuration below for more details. + An object that has fields relevant to the vendor of the cluster device properties: - licenseFileId: + controller1: description: |- - License file id. This is necessary for Fortinet and Juniper clusters. - License file id. This is necessary for Fortinet and Juniper clusters + System IP Address. Mandatory for the Fortinet SDWAN cluster device. + System IP Address. Mandatory for the Fortinet SDWAN cluster device type: string - name: + controllerFqdn: description: |- - reference by name to previously provisioned public SSH key. - The name of the node + Controller fqdn. This is required for Velocloud clusters. + Controller fqdn. This is required for Velocloud clusters type: string - uuid: + hostname: description: |- - Device unique identifier. - The unique id of the node + Hostname. This is necessary for Palo Alto, Juniper, and Fortinet clusters. + Hostname. This is necessary for Palo Alto, Juniper, and Fortinet clusters type: string - vendorConfiguration: + panoramaIpAddress: description: |- - An object that has fields relevant to the vendor of the cluster device. See Cluster Details - Nodes - Vendor Configuration below for more details. - An object that has fields relevant to the vendor of the cluster device - items: - properties: - controller1: - description: |- - System IP Address. Mandatory for the Fortinet SDWAN cluster device. - System IP Address. Mandatory for the Fortinet SDWAN cluster device - type: string - controllerFqdn: - description: |- - Controller fqdn. This is required for Velocloud clusters. - Controller fqdn. This is required for Velocloud clusters - type: string - hostname: - description: |- - Hostname. This is necessary for Palo Alto, Juniper, and Fortinet clusters. - Hostname. This is necessary for Palo Alto, Juniper, and Fortinet clusters - type: string - panoramaIpAddress: - description: |- - Panorama Server IP Address. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server. - Panorama Server IP Address. This field is relevant only for Palo Alto Networks Firewall devices - type: string - privateAddress: - description: Private address. This field is - relevant only for the BlueCat DNS and DHCP - Server - type: string - privateCidrMask: - description: Private CIDR Mask. This field is - relevant only for the BlueCat DNS and DHCP - Server - type: string - privateGateway: - description: Private gateway. This field is - relevant only for the BlueCat DNS and DHCP - Server - type: string - type: object - type: array + Panorama Server IP Address. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server. + Panorama Server IP Address. This field is relevant only for Palo Alto Networks Firewall devices + type: string + privateAddress: + description: Private address. This field is relevant + only for the BlueCat DNS and DHCP Server + type: string + privateCidrMask: + description: Private CIDR Mask. This field is relevant + only for the BlueCat DNS and DHCP Server + type: string + privateGateway: + description: Private gateway. This field is relevant + only for the BlueCat DNS and DHCP Server + type: string type: object - type: array - node1: - description: |- - An object that has node1 configuration. See Cluster Details - Nodes below for more details. - An object that has node1 details - items: + type: object + node1: + description: |- + An object that has node1 configuration. See Cluster Details - Nodes below for more details. + An object that has node1 details + properties: + licenseFileId: + description: |- + Identifier of a license file that will be applied on a secondary device. + License file id. This is necessary for Fortinet and Juniper clusters + type: string + name: + description: |- + reference by name to previously provisioned public SSH key. + The name of the node + type: string + uuid: + description: |- + Device unique identifier. + The unique id of the node + type: string + vendorConfiguration: + description: |- + Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress, privateAddress, privateCidrMask, privateGateway, licenseKey, licenseId, panoramaAuthKey, panoramaIpAddress) + An object that has fields relevant to the vendor of the cluster device properties: - licenseFileId: + controller1: description: |- - Identifier of a license file that will be applied on a secondary device. - License file id. This is necessary for Fortinet and Juniper clusters + System IP Address. Mandatory for the Fortinet SDWAN cluster device. + System IP Address. Mandatory for the Fortinet SDWAN cluster device type: string - name: + controllerFqdn: description: |- - reference by name to previously provisioned public SSH key. - The name of the node + Controller fqdn. This is required for Velocloud clusters. + Controller fqdn. This is required for Velocloud clusters type: string - uuid: + hostname: description: |- - Device unique identifier. - The unique id of the node + Secondary device hostname. + Hostname. This is necessary for Palo Alto, Juniper, and Fortinet clusters type: string - vendorConfiguration: + panoramaIpAddress: description: |- - Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress, privateAddress, privateCidrMask, privateGateway, licenseKey, licenseId, panoramaAuthKey, panoramaIpAddress) - An object that has fields relevant to the vendor of the cluster device - items: - properties: - controller1: - description: |- - System IP Address. Mandatory for the Fortinet SDWAN cluster device. - System IP Address. Mandatory for the Fortinet SDWAN cluster device - type: string - controllerFqdn: - description: |- - Controller fqdn. This is required for Velocloud clusters. - Controller fqdn. This is required for Velocloud clusters - type: string - hostname: - description: |- - Secondary device hostname. - Hostname. This is necessary for Palo Alto, Juniper, and Fortinet clusters - type: string - panoramaIpAddress: - description: |- - Panorama Server IP Address. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server. - Panorama Server IP Address. This field is relevant only for Palo Alto Networks Firewall devices - type: string - privateAddress: - description: Private address. This field is - relevant only for the BlueCat DNS and DHCP - Server - type: string - privateCidrMask: - description: Private CIDR Mask. This field is - relevant only for the BlueCat DNS and DHCP - Server - type: string - privateGateway: - description: Private gateway. This field is - relevant only for the BlueCat DNS and DHCP - Server - type: string - type: object - type: array + Panorama Server IP Address. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server. + Panorama Server IP Address. This field is relevant only for Palo Alto Networks Firewall devices + type: string + privateAddress: + description: Private address. This field is relevant + only for the BlueCat DNS and DHCP Server + type: string + privateCidrMask: + description: Private CIDR Mask. This field is relevant + only for the BlueCat DNS and DHCP Server + type: string + privateGateway: + description: Private gateway. This field is relevant + only for the BlueCat DNS and DHCP Server + type: string type: object - type: array - numOfNodes: - description: |- - The number of nodes in the cluster. - The number of nodes in the cluster - type: number - type: object - type: array + type: object + numOfNodes: + description: |- + The number of nodes in the cluster. + The number of nodes in the cluster + type: number + type: object connectivity: description: |- Device accessibility (INTERNET-ACCESS or PRIVATE or INTERNET-ACCESS-WITH-PRVT-MGMT). If not specified, default will be INTERNET-ACCESS @@ -1955,203 +2343,198 @@ spec: description: |- Definition of secondary device for redundant device configurations. See Secondary Device below for more details. Definition of secondary device applicable for HA setup - items: - properties: - accountNumber: - description: |- - Billing account number for secondary device. - Device billing account number - type: string - aclTemplateId: - description: |- - Identifier of a WAN interface ACL template that will be applied on a secondary device. - Unique identifier of applied ACL template - type: string - additionalBandwidth: - description: |- - Additional Internet bandwidth, in Mbps, for a secondary device. - Additional Internet bandwidth, in Mbps, that will be allocated to the device - type: number - asn: - description: |- - (Autonomous System Number) Unique identifier for a network on the internet. - Autonomous system number - type: number - cloudInitFileId: - description: |- - Identifier of a cloud init file that will be applied on a secondary device. - Unique identifier of applied cloud init file - type: string - hostname: - description: |- - Secondary device hostname. - Device hostname prefix - type: string - ibx: - description: |- - Device location Equinix Business Exchange name. - Device location Equinix Business Exchange name - type: string - interface: - description: |- - List of device interfaces. See Interface Attribute below for more details. - List of device interfaces - items: - properties: - assignedType: - description: interface management type (Equinix Managed - or empty). - type: string - id: - description: interface identifier. - type: number - ipAddress: - description: interface IP address. - type: string - macAddress: - description: interface MAC address. - type: string - name: - description: reference by name to previously provisioned - public SSH key. - type: string - operationalStatus: - description: interface operational status. One of - up, down. - type: string - status: - description: Device provisioning status. Possible - values are INITIALIZING, PROVISIONING, WAITING_FOR_PRIMARY, - WAITING_FOR_SECONDARY, WAITING_FOR_REPLICA_CLUSTER_NODES, - CLUSTER_SETUP_IN_PROGRESS, FAILED, PROVISIONED, - DEPROVISIONING, DEPROVISIONED, RESOURCE_UPGRADE_IN_PROGRESS, - RESOURCE_UPGRADE_FAILED. - type: string - type: - description: interface type. - type: string - type: object - type: array - licenseFile: - description: |- - Path to the license file that will be uploaded and applied on a secondary device. Applicable for some device types in BYOL licensing mode. - Path to the license file that will be uploaded and applied on a device, applicable for some device types in BYOL licensing mode - type: string - licenseFileId: - description: |- - Identifier of a license file that will be applied on a secondary device. - Unique identifier of applied license file - type: string - licenseStatus: - description: |- - Device license registration status. Possible values are APPLYING_LICENSE, REGISTERED, APPLIED, WAITING_FOR_CLUSTER_SETUP, REGISTRATION_FAILED. - Device license registration status - type: string - licenseToken: - description: |- - License Token can be provided for some device types o the device. - License Token applicable for some device types in BYOL licensing mode - type: string - metroCode: - description: |- - Metro location of a secondary device. - Device location metro code - type: string - mgmtAclTemplateUuid: - description: |- - Identifier of an MGMT interface ACL template that will be applied on a secondary device. - Unique identifier of applied MGMT ACL template - type: string - name: - description: |- - Secondary device name. - Device name + properties: + accountNumber: + description: |- + Billing account number for secondary device. + Device billing account number + type: string + aclTemplateId: + description: |- + Identifier of a WAN interface ACL template that will be applied on a secondary device. + Unique identifier of applied ACL template + type: string + additionalBandwidth: + description: |- + Additional Internet bandwidth, in Mbps, for a secondary device. + Additional Internet bandwidth, in Mbps, that will be allocated to the device + type: number + asn: + description: |- + (Autonomous System Number) Unique identifier for a network on the internet. + Autonomous system number + type: number + cloudInitFileId: + description: |- + Identifier of a cloud init file that will be applied on a secondary device. + Unique identifier of applied cloud init file + type: string + hostname: + description: |- + Secondary device hostname. + Device hostname prefix + type: string + ibx: + description: |- + Device location Equinix Business Exchange name. + Device location Equinix Business Exchange name + type: string + interface: + description: |- + List of device interfaces. See Interface Attribute below for more details. + List of device interfaces + items: + properties: + assignedType: + description: interface management type (Equinix Managed + or empty). + type: string + id: + description: interface identifier. + type: number + ipAddress: + description: interface IP address. + type: string + macAddress: + description: interface MAC address. + type: string + name: + description: reference by name to previously provisioned + public SSH key. + type: string + operationalStatus: + description: interface operational status. One of up, + down. + type: string + status: + description: Device provisioning status. Possible values + are INITIALIZING, PROVISIONING, WAITING_FOR_PRIMARY, + WAITING_FOR_SECONDARY, WAITING_FOR_REPLICA_CLUSTER_NODES, + CLUSTER_SETUP_IN_PROGRESS, FAILED, PROVISIONED, DEPROVISIONING, + DEPROVISIONED, RESOURCE_UPGRADE_IN_PROGRESS, RESOURCE_UPGRADE_FAILED. + type: string + type: + description: interface type. + type: string + type: object + type: array + licenseFile: + description: |- + Path to the license file that will be uploaded and applied on a secondary device. Applicable for some device types in BYOL licensing mode. + Path to the license file that will be uploaded and applied on a device, applicable for some device types in BYOL licensing mode + type: string + licenseFileId: + description: |- + Identifier of a license file that will be applied on a secondary device. + Unique identifier of applied license file + type: string + licenseStatus: + description: |- + Device license registration status. Possible values are APPLYING_LICENSE, REGISTERED, APPLIED, WAITING_FOR_CLUSTER_SETUP, REGISTRATION_FAILED. + Device license registration status + type: string + licenseToken: + description: |- + License Token can be provided for some device types o the device. + License Token applicable for some device types in BYOL licensing mode + type: string + metroCode: + description: |- + Metro location of a secondary device. + Device location metro code + type: string + mgmtAclTemplateUuid: + description: |- + Identifier of an MGMT interface ACL template that will be applied on a secondary device. + Unique identifier of applied MGMT ACL template + type: string + name: + description: |- + Secondary device name. + Device name + type: string + notifications: + description: |- + List of email addresses that will receive notifications about secondary device. + List of email addresses that will receive device status notifications + items: type: string - notifications: - description: |- - List of email addresses that will receive notifications about secondary device. - List of email addresses that will receive device status notifications - items: + type: array + x-kubernetes-list-type: set + projectId: + description: |- + Unique Identifier for the project resource where the device is scoped to.If you leave it out, the device will be created under the default project id of your organization. + The unique identifier of Project Resource to which device is scoped to + type: string + redundancyType: + description: |- + Device redundancy type applicable for HA devices, either primary or secondary. + Device redundancy type applicable for HA devices, either primary or secondary + type: string + redundantId: + description: |- + Unique identifier for a redundant device applicable for HA devices. + Unique identifier for a redundant device, applicable for HA device + type: string + region: + description: |- + Device location region. + Device location region + type: string + sshIpAddress: + description: |- + IP address of SSH enabled interface on the device. + IP address of SSH enabled interface on the device + type: string + sshIpFqdn: + description: |- + FQDN of SSH enabled interface on the device. + FQDN of SSH enabled interface on the device + type: string + sshKey: + description: Definition of SSH key that will be provisioned + on a device + properties: + keyName: + description: |- + Device name. + Reference by name to previously provisioned public SSH key type: string - type: array - x-kubernetes-list-type: set - projectId: - description: |- - Unique Identifier for the project resource where the device is scoped to.If you leave it out, the device will be created under the default project id of your organization. - The unique identifier of Project Resource to which device is scoped to - type: string - redundancyType: - description: |- - Device redundancy type applicable for HA devices, either primary or secondary. - Device redundancy type applicable for HA devices, either primary or secondary - type: string - redundantId: - description: |- - Unique identifier for a redundant device applicable for HA devices. - Unique identifier for a redundant device, applicable for HA device - type: string - region: - description: |- - Device location region. - Device location region - type: string - sshIpAddress: - description: |- - IP address of SSH enabled interface on the device. - IP address of SSH enabled interface on the device - type: string - sshIpFqdn: - description: |- - FQDN of SSH enabled interface on the device. - FQDN of SSH enabled interface on the device - type: string - sshKey: - description: Definition of SSH key that will be provisioned - on a device - items: - properties: - keyName: - description: |- - Device name. - Reference by name to previously provisioned public SSH key - type: string - username: - description: |- - username associated with given key. - Username associated with given key - type: string - type: object - type: array - status: - description: |- - Device provisioning status. Possible values are INITIALIZING, PROVISIONING, WAITING_FOR_PRIMARY, WAITING_FOR_SECONDARY, WAITING_FOR_REPLICA_CLUSTER_NODES, CLUSTER_SETUP_IN_PROGRESS, FAILED, PROVISIONED, DEPROVISIONING, DEPROVISIONED, RESOURCE_UPGRADE_IN_PROGRESS, RESOURCE_UPGRADE_FAILED. - Device provisioning status - type: string - uuid: - description: |- - Device unique identifier. - Device unique identifier - type: string - vendorConfiguration: - additionalProperties: + username: + description: |- + username associated with given key. + Username associated with given key type: string - description: |- - Key/Value pairs of vendor specific configuration parameters for a secondary device. Key values are controller1, activationKey, managementType, siteId, systemIpAddress, privateAddress, privateCidrMask, privateGateway, licenseKey, licenseId, panoramaAuthKey, panoramaIpAddress. - Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress) - type: object - x-kubernetes-map-type: granular - wanInterfaceId: - description: |- - interface identifier. - device interface id picked for WAN - type: string - zoneCode: - description: |- - Device location zone code. - Device location zone code + type: object + status: + description: |- + Device provisioning status. Possible values are INITIALIZING, PROVISIONING, WAITING_FOR_PRIMARY, WAITING_FOR_SECONDARY, WAITING_FOR_REPLICA_CLUSTER_NODES, CLUSTER_SETUP_IN_PROGRESS, FAILED, PROVISIONED, DEPROVISIONING, DEPROVISIONED, RESOURCE_UPGRADE_IN_PROGRESS, RESOURCE_UPGRADE_FAILED. + Device provisioning status + type: string + uuid: + description: |- + Device unique identifier. + Device unique identifier + type: string + vendorConfiguration: + additionalProperties: type: string - type: object - type: array + description: |- + Key/Value pairs of vendor specific configuration parameters for a secondary device. Key values are controller1, activationKey, managementType, siteId, systemIpAddress, privateAddress, privateCidrMask, privateGateway, licenseKey, licenseId, panoramaAuthKey, panoramaIpAddress. + Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress) + type: object + x-kubernetes-map-type: granular + wanInterfaceId: + description: |- + interface identifier. + device interface id picked for WAN + type: string + zoneCode: + description: |- + Device location zone code. + Device location zone code + type: string + type: object selfManaged: description: |- Boolean value that determines device management mode, i.e., self-managed or Equinix-managed (default). @@ -2170,20 +2553,18 @@ spec: sshKey: description: Definition of SSH key that will be provisioned on a device - items: - properties: - keyName: - description: |- - Device name. - Reference by name to previously provisioned public SSH key - type: string - username: - description: |- - username associated with given key. - Username associated with given key - type: string - type: object - type: array + properties: + keyName: + description: |- + Device name. + Reference by name to previously provisioned public SSH key + type: string + username: + description: |- + username associated with given key. + Username associated with given key + type: string + type: object status: description: |- Device provisioning status. Possible values are INITIALIZING, PROVISIONING, WAITING_FOR_PRIMARY, WAITING_FOR_SECONDARY, WAITING_FOR_REPLICA_CLUSTER_NODES, CLUSTER_SETUP_IN_PROGRESS, FAILED, PROVISIONED, DEPROVISIONING, DEPROVISIONED, RESOURCE_UPGRADE_IN_PROGRESS, RESOURCE_UPGRADE_FAILED.