diff --git a/apis/ecx/v1alpha1/zz_l2connection_types.go b/apis/ecx/v1alpha1/zz_l2connection_types.go index e4bdab2..fdfed01 100755 --- a/apis/ecx/v1alpha1/zz_l2connection_types.go +++ b/apis/ecx/v1alpha1/zz_l2connection_types.go @@ -47,6 +47,7 @@ type ActionsRequiredDataObservation struct { ValidationPattern *string `json:"validationPattern,omitempty" tf:"validation_pattern,omitempty"` + // additional information value Value *string `json:"value,omitempty" tf:"value,omitempty"` } @@ -58,10 +59,12 @@ type AdditionalInfoObservation struct { type AdditionalInfoParameters struct { + // secondary connection name // Additional information key // +kubebuilder:validation:Required Name *string `json:"name" tf:"name,omitempty"` + // additional information value // Additional information value // +kubebuilder:validation:Required Value *string `json:"value" tf:"value,omitempty"` @@ -69,71 +72,103 @@ type AdditionalInfoParameters struct { type L2ConnectionObservation struct { + // One or more pending actions to complete connection provisioning. // One or more pending actions to complete connection provisioning Actions []ActionsObservation `json:"actions,omitempty" tf:"actions,omitempty"` ID *string `json:"id,omitempty" tf:"id,omitempty"` + // Connection provisioning status on service provider's side. // Connection provisioning status on service provider's side ProviderStatus *string `json:"providerStatus,omitempty" tf:"provider_status,omitempty"` + // Unique identifier of group containing a primary and secondary connection. // Unique identifier of group containing a primary and secondary connection RedundancyGroup *string `json:"redundancyGroup,omitempty" tf:"redundancy_group,omitempty"` + // Connection redundancy type, applicable for HA connections. Valid values are + // PRIMARY, SECONDARY. // Connection redundancy type, applicable for HA connections. Either primary or secondary RedundancyType *string `json:"redundancyType,omitempty" tf:"redundancy_type,omitempty"` + // Unique identifier of the redundant connection, applicable for HA connections. // Unique identifier of the redundant connection, applicable for HA connections RedundantUUID *string `json:"redundantUuid,omitempty" tf:"redundant_uuid,omitempty"` + // Definition of secondary connection for redundant, HA + // connectivity. See Secondary Connection below for more details. // Definition of secondary connection for redundant, HA connectivity // +kubebuilder:validation:Optional SecondaryConnection []SecondaryConnectionObservation `json:"secondaryConnection,omitempty" tf:"secondary_connection,omitempty"` + // Connection provisioning status on Equinix Fabric side. // Connection provisioning status on Equinix Fabric side Status *string `json:"status,omitempty" tf:"status,omitempty"` + // Unique identifier of the connection. // Unique identifier of the connection UUID *string `json:"uuid,omitempty" tf:"uuid,omitempty"` + // The Equinix Fabric Token the connection was created with. Applicable if the + // connection was created with a service_token (a-side) or zside_service_token (z-side). // The Equinix Fabric Token the connection was created with. Applicable if the connection was created with a ServiceToken (a-side) or ZSideServiceToken (z-side) VendorToken *string `json:"vendorToken,omitempty" tf:"vendor_token,omitempty"` } type L2ConnectionParameters struct { + // one or more additional information key-value objects // One or more additional information key-value objects // +kubebuilder:validation:Optional AdditionalInfo []AdditionalInfoParameters `json:"additionalInfo,omitempty" tf:"additional_info,omitempty"` + // Unique identifier authorizing Equinix to provision a connection + // towards a cloud service provider. At Equinix, an Authorization Key is a generic term and is NOT + // encrypted on Equinix Fabric. Cloud Service Providers might use a different name to refer to this + // key such as Service Key or Authentication Key. Value depends on a provider service profile, + // more information on Equinix Fabric how to guide. // Text field used to authorize connection on the provider side. Value depends on a provider service profile used for connection // +kubebuilder:validation:Optional AuthorizationKey *string `json:"authorizationKey,omitempty" tf:"authorization_key,omitempty"` + // Applicable with device_uuid, identifier of network interface + // on a given device, used for a connection. If not specified then first available interface will be + // selected. // Identifier of network interface on a given device, used for a connection. If not specified then first available interface will be selected // +kubebuilder:validation:Optional DeviceInterfaceID *float64 `json:"deviceInterfaceId,omitempty" tf:"device_interface_id,omitempty"` + // Unique identifier of + // the Network Edge virtual device from which the connection would originate. // Unique identifier of the Network Edge virtual device from which the connection would originate // +kubebuilder:validation:Optional DeviceUUID *string `json:"deviceUuid,omitempty" tf:"device_uuid,omitempty"` + // Connection name. An alpha-numeric 24 characters string which can include only + // hyphens and underscores // Connection name. An alpha-numeric 24 characters string which can include only hyphens and underscores // +kubebuilder:validation:Required Name *string `json:"name" tf:"name,omitempty"` + // The type of peering to set up when connecting to Azure Express Route. + // Valid values: PRIVATE, MICROSOFT, MANUAL*, PUBLIC*. // The type of peering to set up in case when connecting to Azure Express Route. One of PRIVATE, MICROSOFT, MANUAL, PUBLIC (MANUAL and PUBLIC are deprecated and not available for new connections) // +kubebuilder:validation:Optional NamedTag *string `json:"namedTag,omitempty" tf:"named_tag,omitempty"` + // A list of email addresses used for sending connection update + // notifications. // A list of email addresses used for sending connection update notifications // +kubebuilder:validation:Required Notifications []*string `json:"notifications" tf:"notifications,omitempty"` + // Unique identifier of + // the Equinix Fabric Port from which the connection would originate. // Unique identifier of the buyer's port from which the connection would originate // +kubebuilder:validation:Optional PortUUID *string `json:"portUuid,omitempty" tf:"port_uuid,omitempty"` + // Unique identifier of the service provider's profile. // Unique identifier of the service provider's service profile // +crossplane:generate:reference:type=L2Serviceprofile // +kubebuilder:validation:Optional @@ -147,54 +182,83 @@ type L2ConnectionParameters struct { // +kubebuilder:validation:Optional ProfileUUIDSelector *v1.Selector `json:"profileUuidSelector,omitempty" tf:"-"` + // Connection's purchase order number to reflect on the invoice // Connection's purchase order number to reflect on the invoice // +kubebuilder:validation:Optional PurchaseOrderNumber *string `json:"purchaseOrderNumber,omitempty" tf:"purchase_order_number,omitempty"` + // Definition of secondary connection for redundant, HA + // connectivity. See Secondary Connection below for more details. // Definition of secondary connection for redundant, HA connectivity // +kubebuilder:validation:Optional SecondaryConnection []SecondaryConnectionParameters `json:"secondaryConnection,omitempty" tf:"secondary_connection,omitempty"` + // The metro code that denotes the connection’s remote/destination + // side (z-side). // The metro code that denotes the connection's remote side (z-side) // +kubebuilder:validation:Optional SellerMetroCode *string `json:"sellerMetroCode,omitempty" tf:"seller_metro_code,omitempty"` + // The region in which the seller port resides. // The region in which the seller port resides // +kubebuilder:validation:Optional SellerRegion *string `json:"sellerRegion,omitempty" tf:"seller_region,omitempty"` + // - A-side + // service tokens authorize you to create a connection from a customer port, which created the token + // for you, to a service profile or your own port. + // More details in A-Side Fabric Service Tokens. // Unique Equinix Fabric key given by a provider that grants you authorization to enable connectivity from a shared multi-tenant port (a-side) // +kubebuilder:validation:Optional ServiceToken *string `json:"serviceToken,omitempty" tf:"service_token,omitempty"` + // Speed/Bandwidth to be allocated to the connection. // Speed/Bandwidth to be allocated to the connection // +kubebuilder:validation:Required Speed *float64 `json:"speed" tf:"speed,omitempty"` + // Unit of the speed/bandwidth to be allocated to the connection. // Unit of the speed/bandwidth to be allocated to the connection // +kubebuilder:validation:Required SpeedUnit *string `json:"speedUnit" tf:"speed_unit,omitempty"` + // C-Tag/Inner-Tag of the connection - a numeric character ranging from 2 + // - 4094. // C-Tag/Inner-Tag of the connection, a numeric character ranging from 2 - 4094 // +kubebuilder:validation:Optional VlanCtag *float64 `json:"vlanCtag,omitempty" tf:"vlan_ctag,omitempty"` + // S-Tag/Outer-Tag of the connection - a numeric + // character ranging from 2 - 4094. // S-Tag/Outer-Tag of the connection, a numeric character ranging from 2 - 4094 // +kubebuilder:validation:Optional VlanStag *float64 `json:"vlanStag,omitempty" tf:"vlan_stag,omitempty"` + // Unique identifier of the port on the remote/destination side + // (z-side). Allows you to connect between your own ports or virtual devices across your company's + // Equinix Fabric deployment, with no need for a private service profile. // Unique identifier of the port on the remote side (z-side) // +kubebuilder:validation:Optional ZsidePortUUID *string `json:"zsidePortUuid,omitempty" tf:"zside_port_uuid,omitempty"` + // - Z-side + // service tokens authorize you to create a connection from your port or virtual device to a customer + // port which created the token for you. zside_service_token cannot be used with secondary_connection. + // More details in Z-Side Fabric Service Tokens. // Unique Equinix Fabric key given by a provider that grants you authorization to enable connectivity to a shared multi-tenant port (z-side) // +kubebuilder:validation:Optional ZsideServiceToken *string `json:"zsideServiceToken,omitempty" tf:"zside_service_token,omitempty"` + // C-Tag/Inner-Tag of the connection on the remote/destination + // side (z-side) - a numeric character ranging from 2 - 4094. + // secondary_connection is defined it will internally use same zside_vlan_ctag for the secondary + // connection. // C-Tag/Inner-Tag of the connection on the remote side (z-side) // +kubebuilder:validation:Optional ZsideVlanCtag *float64 `json:"zsideVlanCtag,omitempty" tf:"zside_vlan_ctag,omitempty"` + // S-Tag/Outer-Tag of the connection on the remote/destination + // side (z-side) - a numeric character ranging from 2 - 4094. // S-Tag/Outer-Tag of the connection on the remote side (z-side) // +kubebuilder:validation:Optional ZsideVlanStag *float64 `json:"zsideVlanStag,omitempty" tf:"zside_vlan_stag,omitempty"` @@ -209,6 +273,7 @@ type RequiredDataObservation struct { ValidationPattern *string `json:"validationPattern,omitempty" tf:"validation_pattern,omitempty"` + // additional information value Value *string `json:"value,omitempty" tf:"value,omitempty"` } @@ -230,90 +295,138 @@ type SecondaryConnectionActionsParameters struct { type SecondaryConnectionObservation struct { + // One or more pending actions to complete connection provisioning. // One or more pending actions to complete connection provisioning Actions []SecondaryConnectionActionsObservation `json:"actions,omitempty" tf:"actions,omitempty"` + // Connection provisioning status on service provider's side. // Connection provisioning status on service provider's side ProviderStatus *string `json:"providerStatus,omitempty" tf:"provider_status,omitempty"` + // Unique identifier of group containing a primary and secondary connection. // Unique identifier of group containing a primary and secondary connection RedundancyGroup *string `json:"redundancyGroup,omitempty" tf:"redundancy_group,omitempty"` + // Connection redundancy type, applicable for HA connections. Valid values are + // PRIMARY, SECONDARY. // Connection redundancy type, applicable for HA connections. Either primary or secondary RedundancyType *string `json:"redundancyType,omitempty" tf:"redundancy_type,omitempty"` + // Unique identifier of the redundant connection, applicable for HA connections. // Unique identifier of the redundant connection, applicable for HA connections RedundantUUID *string `json:"redundantUuid,omitempty" tf:"redundant_uuid,omitempty"` + // Connection provisioning status on Equinix Fabric side. // Connection provisioning status on Equinix Fabric side Status *string `json:"status,omitempty" tf:"status,omitempty"` + // Unique identifier of the connection. // Unique identifier of the connection UUID *string `json:"uuid,omitempty" tf:"uuid,omitempty"` + // The Equinix Fabric Token the connection was created with. Applicable if the + // connection was created with a service_token (a-side) or zside_service_token (z-side). // The Equinix Fabric Token the connection was created with. Applicable if the connection was created with a ServiceToken (a-side) or ZSideServiceToken (z-side) VendorToken *string `json:"vendorToken,omitempty" tf:"vendor_token,omitempty"` + // Unique identifier of the port on the remote/destination side + // (z-side). Allows you to connect between your own ports or virtual devices across your company's + // Equinix Fabric deployment, with no need for a private service profile. // Unique identifier of the port on the remote side (z-side) ZsidePortUUID *string `json:"zsidePortUuid,omitempty" tf:"zside_port_uuid,omitempty"` + // C-Tag/Inner-Tag of the connection on the remote/destination + // side (z-side) - a numeric character ranging from 2 - 4094. + // secondary_connection is defined it will internally use same zside_vlan_ctag for the secondary + // connection. // C-Tag/Inner-Tag of the connection on the remote side (z-side) ZsideVlanCtag *float64 `json:"zsideVlanCtag,omitempty" tf:"zside_vlan_ctag,omitempty"` + // S-Tag/Outer-Tag of the connection on the remote/destination + // side (z-side) - a numeric character ranging from 2 - 4094. // S-Tag/Outer-Tag of the connection on the remote side (z-side) ZsideVlanStag *float64 `json:"zsideVlanStag,omitempty" tf:"zside_vlan_stag,omitempty"` } type SecondaryConnectionParameters struct { + // Unique identifier authorizing Equinix to provision a connection + // towards a cloud service provider. If not specified primary authorization_key will be used. However, + // some service providers may require different keys for each connection. More information on + // Equinix Fabric how to guide. // Text field used to authorize connection on the provider side. Value depends on a provider service profile used for connection // +kubebuilder:validation:Optional AuthorizationKey *string `json:"authorizationKey,omitempty" tf:"authorization_key,omitempty"` + // Applicable with device_uuid, identifier of network interface + // on a given device. If not specified then first available interface will be selected. // Identifier of network interface on a given device, used for a connection. If not specified then first available interface will be selected // +kubebuilder:validation:Optional DeviceInterfaceID *float64 `json:"deviceInterfaceId,omitempty" tf:"device_interface_id,omitempty"` + // Applicable with primary device_uuid. Identifier of the Network Edge + // virtual device from which the secondary connection would originate. If not specified primary + // device_uuid will be used. // Unique identifier of the Network Edge virtual device from which the connection would originate // +kubebuilder:validation:Optional DeviceUUID *string `json:"deviceUuid,omitempty" tf:"device_uuid,omitempty"` + // secondary connection name // Connection name. An alpha-numeric 24 characters string which can include only hyphens and underscores // +kubebuilder:validation:Required Name *string `json:"name" tf:"name,omitempty"` + // Applicable with primary port_uuid. Identifier of the Equinix Fabric Port from + // which the secondary connection would originate. If not specified primary port_uuid will be used. // Unique identifier of the buyer's port from which the connection would originate // +kubebuilder:validation:Optional PortUUID *string `json:"portUuid,omitempty" tf:"port_uuid,omitempty"` + // Unique identifier of the service provider's profile. // Unique identifier of the service provider's service profile // +kubebuilder:validation:Optional ProfileUUID *string `json:"profileUuid,omitempty" tf:"profile_uuid,omitempty"` + // The metro code that denotes the secondary connection’s + // destination (Z side). . // The metro code that denotes the connection's remote side (z-side) // +kubebuilder:validation:Optional SellerMetroCode *string `json:"sellerMetroCode,omitempty" tf:"seller_metro_code,omitempty"` + // The region in which the seller port resides. If not specified + // primary seller_region will be used. // The region in which the seller port resides // +kubebuilder:validation:Optional SellerRegion *string `json:"sellerRegion,omitempty" tf:"seller_region,omitempty"` + // Required with primary service_token. Unique Equinix Fabric key + // given by a provider that grants you authorization to enable connectivity from an Equinix Fabric Port or + // virtual device. Each connection (primary and secondary) requires a separate token. + // More details in Fabric Service Tokens. // Unique Equinix Fabric key given by a provider that grants you authorization to enable connectivity from a shared multi-tenant port (a-side) // +kubebuilder:validation:Optional ServiceToken *string `json:"serviceToken,omitempty" tf:"service_token,omitempty"` + // Speed/Bandwidth to be allocated to the secondary connection. If not + // specified primary speed will be used. // Speed/Bandwidth to be allocated to the connection // +kubebuilder:validation:Optional Speed *float64 `json:"speed,omitempty" tf:"speed,omitempty"` + // Unit of the speed/bandwidth to be allocated to the secondary + // connection. If not specified primary speed_unit will be used. // Unit of the speed/bandwidth to be allocated to the connection // +kubebuilder:validation:Optional SpeedUnit *string `json:"speedUnit,omitempty" tf:"speed_unit,omitempty"` + // Applicable with port_uuid. C-Tag/Inner-Tag of the secondary + // connection, a numeric character ranging from 2 - 4094. // C-Tag/Inner-Tag of the connection, a numeric character ranging from 2 - 4094 // +kubebuilder:validation:Optional VlanCtag *float64 `json:"vlanCtag,omitempty" tf:"vlan_ctag,omitempty"` + // S-Tag/Outer-Tag of the secondary connection, a + // numeric character ranging from 2 - 4094. // S-Tag/Outer-Tag of the connection, a numeric character ranging from 2 - 4094 // +kubebuilder:validation:Optional VlanStag *float64 `json:"vlanStag,omitempty" tf:"vlan_stag,omitempty"` @@ -333,7 +446,7 @@ type L2ConnectionStatus struct { // +kubebuilder:object:root=true -// L2Connection is the Schema for the L2Connections API. +// L2Connection is the Schema for the L2Connections API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" diff --git a/apis/ecx/v1alpha1/zz_l2connectionaccepter_types.go b/apis/ecx/v1alpha1/zz_l2connectionaccepter_types.go index 6951f8a..c41df9c 100755 --- a/apis/ecx/v1alpha1/zz_l2connectionaccepter_types.go +++ b/apis/ecx/v1alpha1/zz_l2connectionaccepter_types.go @@ -27,6 +27,8 @@ import ( type L2ConnectionAccepterObservation struct { + // Identifier of a hosted Direct Connect connection on AWS side, + // applicable for accepter resource with connections to AWS only. // Identifier of a hosted Direct Connect connection on AWS side, applicable for accepter resource with connections to AWS only AwsConnectionID *string `json:"awsConnectionId,omitempty" tf:"aws_connection_id,omitempty"` @@ -35,18 +37,22 @@ type L2ConnectionAccepterObservation struct { type L2ConnectionAccepterParameters struct { + // and secret_key resource arguments // Access Key used to accept connection on provider side // +kubebuilder:validation:Optional AccessKeySecretRef *v1.SecretKeySelector `json:"accessKeySecretRef,omitempty" tf:"-"` + // argument or AWS_PROFILE environmental variable // AWS Profile Name for retrieving credentials from shared credentials file // +kubebuilder:validation:Optional AwsProfile *string `json:"awsProfile,omitempty" tf:"aws_profile,omitempty"` + // Identifier of Layer 2 connection that will be accepted. // Identifier of layer 2 connection that will be accepted // +kubebuilder:validation:Required ConnectionID *string `json:"connectionId" tf:"connection_id,omitempty"` + // Secret Key used to accept connection on provider side. // Secret Key used to accept connection on provider side // +kubebuilder:validation:Optional SecretKeySecretRef *v1.SecretKeySelector `json:"secretKeySecretRef,omitempty" tf:"-"` @@ -66,7 +72,7 @@ type L2ConnectionAccepterStatus struct { // +kubebuilder:object:root=true -// L2ConnectionAccepter is the Schema for the L2ConnectionAccepters API. +// L2ConnectionAccepter is the Schema for the L2ConnectionAccepters API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" diff --git a/apis/ecx/v1alpha1/zz_l2serviceprofile_types.go b/apis/ecx/v1alpha1/zz_l2serviceprofile_types.go index c3703d8..e5e7963 100755 --- a/apis/ecx/v1alpha1/zz_l2serviceprofile_types.go +++ b/apis/ecx/v1alpha1/zz_l2serviceprofile_types.go @@ -30,10 +30,14 @@ type FeaturesObservation struct { type FeaturesParameters struct { + // Indicates whether or not connections to this profile + // can be created from remote metro locations. // Indicates whether or not connections to this profile can be created from remote metro locations // +kubebuilder:validation:Required AllowRemoteConnections *bool `json:"allowRemoteConnections" tf:"allow_remote_connections,omitempty"` + // (Deprecated) Indicates whether or not this profile can be used for test + // connections. // Indicates whether or not this profile can be used for test connections // +kubebuilder:validation:Optional TestProfile *bool `json:"testProfile,omitempty" tf:"test_profile,omitempty"` @@ -42,111 +46,172 @@ type FeaturesParameters struct { type L2ServiceprofileObservation struct { ID *string `json:"id,omitempty" tf:"id,omitempty"` + // Service profile provisioning status. // Service profile provisioning status State *string `json:"state,omitempty" tf:"state,omitempty"` + // Unique identifier of the service profile. // Unique identifier of the service profile UUID *string `json:"uuid,omitempty" tf:"uuid,omitempty"` } type L2ServiceprofileParameters struct { + // Boolean value that determines if API integration is enabled. It + // allows you to complete connection provisioning in less than five minutes. Without API Integration, + // additional manual steps will be required and the provisioning will likely take longer. // Specifies the API integration ID that was provided to the customer during onboarding // +kubebuilder:validation:Optional APIIntegration *bool `json:"apiIntegration,omitempty" tf:"api_integration,omitempty"` + // Name of the authentication key label to be used by the + // Authentication Key service. It allows Service Providers with QinQ ports to accept groups of + // connections or VLANs from Dot1q customers. This is similar to S-Tag/C-Tag capabilities. // Name of the authentication key label to be used by the Authentication Key service // +kubebuilder:validation:Optional AuthkeyLabel *string `json:"authkeyLabel,omitempty" tf:"authkey_label,omitempty"` + // Specifies the port bandwidth threshold percentage. If + // the bandwidth limit is met or exceeded, an alert is sent to the seller. // Specifies the port bandwidth threshold percentage. If the bandwidth limit is met or exceeded, an alert is sent to the seller // +kubebuilder:validation:Optional BandwidthAlertThreshold *float64 `json:"bandwidthAlertThreshold,omitempty" tf:"bandwidth_alert_threshold,omitempty"` + // A list of email addresses that will receive + // notifications about bandwidth thresholds. // A list of email addresses that will receive notifications about bandwidth thresholds // +kubebuilder:validation:Required BandwidthThresholdNotifications []*string `json:"bandwidthThresholdNotifications" tf:"bandwidth_threshold_notifications,omitempty"` + // Custom name used for calling a connections + // e.g. circuit. Defaults to Connection. // Custom name used for calling a connections i.e. circuit. Defaults to Connection // +kubebuilder:validation:Optional ConnectionNameLabel *string `json:"connectionNameLabel,omitempty" tf:"connection_name_label,omitempty"` + // C-Tag/Inner-Tag label name for the connections. // C-Tag/Inner-Tag label name for the connections // +kubebuilder:validation:Optional CtagLabel *string `json:"ctagLabel,omitempty" tf:"ctag_label,omitempty"` + // Description of the service profile. // Description of the service profile // +kubebuilder:validation:Optional Description *string `json:"description,omitempty" tf:"description,omitempty"` + // Applicable when api_integration is set to true. It + // indicates whether the port and VLAN details are managed by Equinix. // Boolean value that indicates whether the port and VLAN details are managed by Equinix // +kubebuilder:validation:Optional EquinixManagedPortVlan *bool `json:"equinixManagedPortVlan,omitempty" tf:"equinix_managed_port_vlan,omitempty"` + // Block of profile features configuration. See Features below + // for more details. // Block of profile features configuration // +kubebuilder:validation:Required Features []FeaturesParameters `json:"features" tf:"features,omitempty"` + // Specifies the API integration ID that was provided to the customer + // during onboarding. You can validate your API integration ID using the validateIntegrationId API. // Specifies the API integration ID that was provided to the customer during onboarding // +kubebuilder:validation:Optional IntegrationID *string `json:"integrationId,omitempty" tf:"integration_id,omitempty"` + // Name of the service profile. An alpha-numeric 50 characters string which can + // include only hyphens and underscores. // Name of the service profile. An alpha-numeric 50 characters string which can include only hyphens and underscores // +kubebuilder:validation:Required Name *string `json:"name" tf:"name,omitempty"` + // You can set an alert for when a percentage of your profile has + // been sold. Service providers like to use this functionality to alert them when they need to add + // more ports or when they need to create a new service profile. Required with + // oversubscription_allowed, defaults to 1x. // Oversubscription limit that will cause alerting. Default is 1x // +kubebuilder:validation:Optional Oversubscription *string `json:"oversubscription,omitempty" tf:"oversubscription,omitempty"` + // Boolean value that determines if, regardless of the + // utilization, Equinix Fabric will continue to add connections to your links until we reach the + // oversubscription limit. By selecting this service, you acknowledge that you will manage decisions + // on when to increase capacity on these link. // Boolean value that determines if, regardless of the utilization, Equinix Fabric will continue to add connections to your links until we reach the oversubscription limit // +kubebuilder:validation:Optional OversubscriptionAllowed *bool `json:"oversubscriptionAllowed,omitempty" tf:"oversubscription_allowed,omitempty"` + // One or more definitions of ports residing in locations, from which your + // customers will be able to access services using this service profile. See Port below for + // more details. // One or more definitions of ports associated with the profile // +kubebuilder:validation:Required Port []PortParameters `json:"port" tf:"port,omitempty"` + // Boolean value that indicates whether or not this is a private profile, + // i.e. not public like AWS/Azure/Oracle/Google, etc. If private, it can only be available for + // creating connections if correct permissions are granted. // Boolean value that indicates whether or not this is a private profile. // +kubebuilder:validation:Optional Private *bool `json:"private,omitempty" tf:"private,omitempty"` + // An array of users email ids who have permission to access this + // service profile. Argument is required when profile is set as private. // A list of email addresses associated to users that will be allowed to access this service profile. Applicable for private profiles // +kubebuilder:validation:Optional PrivateUserEmails []*string `json:"privateUserEmails,omitempty" tf:"private_user_emails,omitempty"` + // A list of email addresses that will receive + // notifications about profile status changes. // A list of email addresses that will receive notifications about profile status changes // +kubebuilder:validation:Required ProfileStatuschangeNotifications []*string `json:"profileStatuschangeNotifications" tf:"profile_statuschange_notifications,omitempty"` + // Boolean value that determines if your connections will require + // redundancy. if yes, then users need to create a secondary redundant connection. // Boolean value that determines if yourconnections will require redundancy // +kubebuilder:validation:Optional RedundancyRequired *bool `json:"redundancyRequired,omitempty" tf:"redundancy_required,omitempty"` + // Indicates whether the VLAN ID of. the secondary + // connection is the same as the primary connection. // Indicates whether the VLAN ID of the secondary connection is the same as the primary connection // +kubebuilder:validation:Optional SecondaryVlanFromPrimary *bool `json:"secondaryVlanFromPrimary,omitempty" tf:"secondary_vlan_from_primary,omitempty"` + // Boolean value that indicates whether multiple connections + // can be created with the same authorization key to connect to this service profile after the first + // connection has been approved by the seller. // Boolean value that indicates whether multiple connections can be created with the same authorization key // +kubebuilder:validation:Optional ServicekeyAutogenerated *bool `json:"servicekeyAutogenerated,omitempty" tf:"servicekey_autogenerated,omitempty"` + // One or more definitions of supported speed/bandwidth. Argument is + // required when speed_from_api is set to false. See Speed Band below for more + // details. // One or more definitions of supported speed/bandwidth configurations // +kubebuilder:validation:Optional SpeedBand []SpeedBandParameters `json:"speedBand,omitempty" tf:"speed_band,omitempty"` + // Boolean value that determines if customer is allowed + // to enter a custom connection speed. // Boolean value that determines if customer is allowed to enter a custom connection speed // +kubebuilder:validation:Optional SpeedCustomizationAllowed *bool `json:"speedCustomizationAllowed,omitempty" tf:"speed_customization_allowed,omitempty"` + // Boolean valuta that determines if connection speed will be derived + // from an API call. Argument has to be specified when api_integration is enabled. // Boolean valuta that determines if connection speed will be derived from an API call // +kubebuilder:validation:Optional SpeedFromAPI *bool `json:"speedFromApi,omitempty" tf:"speed_from_api,omitempty"` + // Specifies additional tagging information required by the seller profile + // for Dot1Q to QinQ translation. See Enhance Dot1q to QinQ translation support + // for additional information. Valid values are: // Specifies additional tagging information required by the seller profile for Dot1Q to QinQ translation // +kubebuilder:validation:Optional TagType *string `json:"tagType,omitempty" tf:"tag_type,omitempty"` + // A list of email addresses that will receive + // notifications about connections approvals and rejections. // A list of email addresses that will receive notifications about connections approvals and rejections // +kubebuilder:validation:Required VcStatuschangeNotifications []*string `json:"vcStatuschangeNotifications" tf:"vc_statuschange_notifications,omitempty"` @@ -157,10 +222,12 @@ type PortObservation struct { type PortParameters struct { + // The metro code of location where the port resides. // Port location metro code // +kubebuilder:validation:Required MetroCode *string `json:"metroCode" tf:"metro_code,omitempty"` + // Unique identifier of the port. // Unique identifier of the port // +kubebuilder:validation:Required UUID *string `json:"uuid" tf:"uuid,omitempty"` @@ -171,10 +238,13 @@ type SpeedBandObservation struct { type SpeedBandParameters struct { + // Speed/bandwidth supported by this service profile. // Speed/bandwidth supported by given service profile // +kubebuilder:validation:Required Speed *float64 `json:"speed" tf:"speed,omitempty"` + // Unit of the speed/bandwidth supported by this service profile. One of + // MB, GB. // Unit of the speed/bandwidth supported by given service profile // +kubebuilder:validation:Required SpeedUnit *string `json:"speedUnit" tf:"speed_unit,omitempty"` @@ -194,7 +264,7 @@ type L2ServiceprofileStatus struct { // +kubebuilder:object:root=true -// L2Serviceprofile is the Schema for the L2Serviceprofiles API. +// L2Serviceprofile is the Schema for the L2Serviceprofiles API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" diff --git a/apis/generate.go b/apis/generate.go index 1390cef..c95351b 100644 --- a/apis/generate.go +++ b/apis/generate.go @@ -31,7 +31,7 @@ limitations under the License. //go:generate rm -rf ../examples-generated // Generate documentation from Terraform docs. -//go:generate go run github.com/upbound/upjet/cmd/scraper -n ${TERRAFORM_PROVIDER_SOURCE} -r ../.work/${TERRAFORM_PROVIDER_SOURCE}/${TERRAFORM_DOCS_PATH} -o ../config/provider-metadata.yaml +//go:generate go run github.com/upbound/upjet/cmd/scraper -n ${TERRAFORM_PROVIDER_SOURCE} -r ../.work/${TERRAFORM_PROVIDER_SOURCE}/${TERRAFORM_DOCS_PATH} -o ../config/provider-metadata.yaml --prelude-xpath "//text()[contains(., \"subcategory\")]" // Run Upjet generator //go:generate go run ../cmd/generator/main.go .. diff --git a/apis/metal/v1alpha1/zz_connection_types.go b/apis/metal/v1alpha1/zz_connection_types.go index 2ed72c9..18f3c31 100755 --- a/apis/metal/v1alpha1/zz_connection_types.go +++ b/apis/metal/v1alpha1/zz_connection_types.go @@ -28,41 +28,53 @@ import ( type ConnectionObservation struct { ID *string `json:"id,omitempty" tf:"id,omitempty"` + // List of connection ports - primary (ports[0]) and secondary (ports[1]). Schema of + // port is described in documentation of the + // equinix_metal_connection datasource. // List of connection ports - primary (`ports[0]`) and secondary (`ports[1]`) Ports []PortsObservation `json:"ports,omitempty" tf:"ports,omitempty"` + // List of connection service tokens with attributes required to configure the connection in Equinix Fabric with the equinix_ecx_l2_connection resource or from the Equinix Fabric Portal. Scehma of service_token is described in documentation of the equinix_metal_connection datasource. // Only used with shared connection. List of service tokens required to continue the setup process with [equinix_ecx_l2_connection](https://registry.io/providers/equinix/equinix/latest/docs/resources/equinix_ecx_l2_connection) or from the [Equinix Fabric Portal](https://ecxfabric.equinix.com/dashboard) ServiceTokens []ServiceTokensObservation `json:"serviceTokens,omitempty" tf:"service_tokens,omitempty"` + // Status of the connection resource. // Status of the connection resource Status *string `json:"status,omitempty" tf:"status,omitempty"` + // (Deprecated) Fabric Token required to configure the connection in Equinix Fabric with the equinix_ecx_l2_connection resource or from the Equinix Fabric Portal. If your organization already has connection service tokens enabled, use service_tokens instead. // Only used with shared connection. Fabric Token required to continue the setup process with [equinix_ecx_l2_connection](https://registry.io/providers/equinix/equinix/latest/docs/resources/equinix_ecx_l2_connection) or from the [Equinix Fabric Portal](https://ecxfabric.equinix.com/dashboard) Token *string `json:"token,omitempty" tf:"token,omitempty"` } type ConnectionParameters struct { + // Description for the connection resource. // Description of the connection resource // +kubebuilder:validation:Optional Description *string `json:"description,omitempty" tf:"description,omitempty"` + // Facility where the connection will be created. // Facility where the connection will be created // +kubebuilder:validation:Optional Facility *string `json:"facility,omitempty" tf:"facility,omitempty"` + // Metro where the connection will be created. // Metro where the connection will be created // +kubebuilder:validation:Optional Metro *string `json:"metro,omitempty" tf:"metro,omitempty"` + // Mode for connections in IBX facilities with the dedicated type - standard or tunnel. Default is standard. // Mode for connections in IBX facilities with the dedicated type - standard or tunnel // +kubebuilder:validation:Optional Mode *string `json:"mode,omitempty" tf:"mode,omitempty"` + // Name of the connection resource // Name of the connection resource // +kubebuilder:validation:Required Name *string `json:"name" tf:"name,omitempty"` + // ID of the organization where the connection is scoped to. // ID of the organization responsible for the connection. Applicable with type "dedicated" // +crossplane:generate:reference:type=Organization // +kubebuilder:validation:Optional @@ -76,6 +88,7 @@ type ConnectionParameters struct { // +kubebuilder:validation:Optional OrganizationIDSelector *v1.Selector `json:"organizationIdSelector,omitempty" tf:"-"` + // ID of the project where the connection is scoped to, must be set for. // ID of the project where the connection is scoped to. Required with type "shared" // +crossplane:generate:reference:type=Project // +kubebuilder:validation:Optional @@ -89,26 +102,31 @@ type ConnectionParameters struct { // +kubebuilder:validation:Optional ProjectIDSelector *v1.Selector `json:"projectIdSelector,omitempty" tf:"-"` + // Connection redundancy - redundant or primary. // Connection redundancy - redundant or primary // +kubebuilder:validation:Required Redundancy *string `json:"redundancy" tf:"redundancy,omitempty"` - // Only used with shared connection. Type of service token to use for the connection, a_side or z_side + // Only used with shared connection. Type of service token to use for the connection, a_side or z_side. Type of service token to use for the connection, a_side or z_side // +kubebuilder:validation:Optional ServiceTokenType *string `json:"serviceTokenType,omitempty" tf:"service_token_type,omitempty"` + // Connection speed - one of 50Mbps, 200Mbps, 500Mbps, 1Gbps, 2Gbps, 5Gbps, 10Gbps. // Port speed. Allowed values are 50Mbps, 200Mbps, 500Mbps, 1Gbps, 2Gbps, 5Gbps, 10Gbps // +kubebuilder:validation:Required Speed *string `json:"speed" tf:"speed,omitempty"` + // String list of tags. // Tags attached to the connection // +kubebuilder:validation:Optional Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"` + // Connection type - dedicated or shared. // Connection type - dedicated or shared // +kubebuilder:validation:Required Type *string `json:"type" tf:"type,omitempty"` + // Only used with shared connection. Vlans to attach. Pass one vlan for Primary/Single connection and two vlans for Redundant connection. // Only used with shared connection. VLANs to attach. Pass one vlan for Primary/Single connection and two vlans for Redundant connection // +kubebuilder:validation:Optional Vlans []*float64 `json:"vlans,omitempty" tf:"vlans,omitempty"` @@ -117,14 +135,18 @@ type ConnectionParameters struct { type PortsObservation struct { ID *string `json:"id,omitempty" tf:"id,omitempty"` + // Status of the connection resource. LinkStatus *string `json:"linkStatus,omitempty" tf:"link_status,omitempty"` + // Name of the connection resource Name *string `json:"name,omitempty" tf:"name,omitempty"` Role *string `json:"role,omitempty" tf:"role,omitempty"` + // Connection speed - one of 50Mbps, 200Mbps, 500Mbps, 1Gbps, 2Gbps, 5Gbps, 10Gbps. Speed *float64 `json:"speed,omitempty" tf:"speed,omitempty"` + // Status of the connection resource. Status *string `json:"status,omitempty" tf:"status,omitempty"` VirtualCircuitIds []*string `json:"virtualCircuitIds,omitempty" tf:"virtual_circuit_ids,omitempty"` @@ -138,12 +160,14 @@ type ServiceTokensObservation struct { ID *string `json:"id,omitempty" tf:"id,omitempty"` + // Connection speed - one of 50Mbps, 200Mbps, 500Mbps, 1Gbps, 2Gbps, 5Gbps, 10Gbps. MaxAllowedSpeed *string `json:"maxAllowedSpeed,omitempty" tf:"max_allowed_speed,omitempty"` Role *string `json:"role,omitempty" tf:"role,omitempty"` State *string `json:"state,omitempty" tf:"state,omitempty"` + // Connection type - dedicated or shared. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -164,7 +188,7 @@ type ConnectionStatus struct { // +kubebuilder:object:root=true -// Connection is the Schema for the Connections API. +// Connection is the Schema for the Connections API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" diff --git a/apis/metal/v1alpha1/zz_device_types.go b/apis/metal/v1alpha1/zz_device_types.go index f261c3f..c14108d 100755 --- a/apis/metal/v1alpha1/zz_device_types.go +++ b/apis/metal/v1alpha1/zz_device_types.go @@ -27,102 +27,163 @@ import ( type DeviceObservation struct { + // The ipv4 private IP assigned to the device. // The ipv4 private IP assigned to the device AccessPrivateIPv4 *string `json:"accessPrivateIpv4,omitempty" tf:"access_private_ipv4,omitempty"` + // The ipv4 maintenance IP assigned to the device. // The ipv4 maintenance IP assigned to the device AccessPublicIPv4 *string `json:"accessPublicIpv4,omitempty" tf:"access_public_ipv4,omitempty"` + // The ipv6 maintenance IP assigned to the device. // The ipv6 maintenance IP assigned to the device AccessPublicIPv6 *string `json:"accessPublicIpv6,omitempty" tf:"access_public_ipv6,omitempty"` + // The timestamp for when the device was created. // The timestamp for when the device was created Created *string `json:"created,omitempty" tf:"created,omitempty"` + // The facility where the device is deployed. // The facility where the device is deployed DeployedFacility *string `json:"deployedFacility,omitempty" tf:"deployed_facility,omitempty"` + // ID of hardware reservation where this device was deployed. + // It is useful when using the next-available hardware reservation. // ID of hardware reservation where this device was deployed. It is useful when using the next-available hardware reservation DeployedHardwareReservationID *string `json:"deployedHardwareReservationId,omitempty" tf:"deployed_hardware_reservation_id,omitempty"` + // The ID of the device. ID *string `json:"id,omitempty" tf:"id,omitempty"` + // Whether the device is locked. // Whether the device is locked Locked *bool `json:"locked,omitempty" tf:"locked,omitempty"` + // The device's private and public IP (v4 and v6) network details. See + // Network Attribute below for more details. // The device's private and public IP (v4 and v6) network details. When a device is run without any special network configuration, it will have 3 addresses: public ipv4, private ipv4 and ipv6 Network []NetworkObservation `json:"network,omitempty" tf:"network,omitempty"` + // (Deprecated) Network type of a device, used in + // Layer 2 networking. Since this + // attribute is deprecated you should handle Network Type with one of + // equinix_metal_port, + // equinix_metal_device_network_type resources or + // equinix_metal_port datasource. + // See network_types guide for more info. // Network type of a device, used in [Layer 2 networking](https://metal.equinix.com/developers/docs/networking/layer2/). Will be one of layer3, hybrid, hybrid-bonded, layer2-individual, layer2-bonded NetworkType *string `json:"networkType,omitempty" tf:"network_type,omitempty"` + // List of ports assigned to the device. See Ports Attribute below for + // more details. // Ports assigned to the device Ports []DevicePortsObservation `json:"ports,omitempty" tf:"ports,omitempty"` + // 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 SSHKeyIds []*string `json:"sshKeyIds,omitempty" tf:"ssh_key_ids,omitempty"` + // The status of the device. // The status of the device State *string `json:"state,omitempty" tf:"state,omitempty"` + // The timestamp for the last time the device was updated. // The timestamp for the last time the device was updated Updated *string `json:"updated,omitempty" tf:"updated,omitempty"` } type DeviceParameters struct { + // If true, a device with OS custom_ipxe will continue to boot via iPXE + // on reboots. // If true, a device with OS custom_ipxe will // +kubebuilder:validation:Optional AlwaysPxe *bool `json:"alwaysPxe,omitempty" tf:"always_pxe,omitempty"` + // monthly or hourly // monthly or hourly // +kubebuilder:validation:Optional BillingCycle *string `json:"billingCycle,omitempty" tf:"billing_cycle,omitempty"` + // A string of the desired Custom Data for the device. // A string of the desired Custom Data for the device // +kubebuilder:validation:Optional CustomDataSecretRef *v1.SecretKeySelector `json:"customDataSecretRef,omitempty" tf:"-"` + // The device description. // Description string for the device // +kubebuilder:validation:Optional Description *string `json:"description,omitempty" tf:"description,omitempty"` + // List of facility codes with deployment preferences. Equinix Metal API will go + // through the list and will deploy your device to first facility with free capacity. List items must + // be facility codes or any (a wildcard). To find the facility code, visit + // Facilities API docs, set your API auth + // token in the top of the page and see JSON from the API response. Conflicts with metro. // List of facility codes with deployment preferences. Equinix Metal API will go through the list and will deploy your device to first facility with free capacity. List items must be facility codes or any (a wildcard). To find the facility code, visit [Facilities API docs](https://metal.equinix.com/developers/api/facilities/), set your API auth token in the top of the page and see JSON from the API response. Conflicts with metro // +kubebuilder:validation:Optional Facilities []*string `json:"facilities,omitempty" tf:"facilities,omitempty"` + // Delete device even if it has volumes attached. Only applies + // for destroy action. // Delete device even if it has volumes attached. Only applies for destroy action // +kubebuilder:validation:Optional ForceDetachVolumes *bool `json:"forceDetachVolumes,omitempty" tf:"force_detach_volumes,omitempty"` + // The UUID of the hardware reservation where you want this + // device deployed, or next-available if you want to pick your next available reservation + // automatically. Changing this from a reservation UUID to next-available will re-create the device + // in another reservation. Please be careful when using hardware reservation UUID and next-available + // together for the same pool of reservations. It might happen that the reservation which Equinix + // Metal API will pick as next-available is the reservation which you refer with UUID in another + // equinix_metal_device resource. If that happens, and the equinix_metal_device with the UUID is + // created later, resource creation will fail because the reservation is already in use (by the + // resource created with next-available). To workaround this, have the next-available resource + // explicitly depend_on + // the resource with hardware reservation UUID, so that the latter is created first. For more details, + // see issue #176. // The UUID of the hardware reservation where you want this device deployed, or next-available if you want to pick your next available reservation automatically // +kubebuilder:validation:Optional HardwareReservationID *string `json:"hardwareReservationId,omitempty" tf:"hardware_reservation_id,omitempty"` + // The device hostname used in deployments taking advantage of Layer3 DHCP + // or metadata service configuration. // The device hostname used in deployments taking advantage of Layer3 DHCP or metadata service configuration. // +kubebuilder:validation:Optional Hostname *string `json:"hostname,omitempty" tf:"hostname,omitempty"` + // A list of IP address types for the device. See + // IP address below for more details. // A list of IP address types for the device (structure is documented below) // +kubebuilder:validation:Optional IPAddress []IPAddressParameters `json:"ipAddress,omitempty" tf:"ip_address,omitempty"` + // URL pointing to a hosted iPXE script. More information is in the + // Custom iPXE doc. // URL pointing to a hosted iPXE script. More // +kubebuilder:validation:Optional IpxeScriptURL *string `json:"ipxeScriptUrl,omitempty" tf:"ipxe_script_url,omitempty"` + // Metro area for the new device. Conflicts with facilities. // Metro area for the new device. Conflicts with facilities // +kubebuilder:validation:Optional Metro *string `json:"metro,omitempty" tf:"metro,omitempty"` + // The operating system slug. To find the slug, or visit + // Operating Systems API docs, set your + // API auth token in the top of the page and see JSON from the API response. // The operating system slug. To find the slug, or visit [Operating Systems API docs](https://metal.equinix.com/developers/api/operatingsystems), set your API auth token in the top of the page and see JSON from the API response // +kubebuilder:validation:Required OperatingSystem *string `json:"operatingSystem" tf:"operating_system,omitempty"` + // The device plan slug. To find the plan slug, visit + // Device plans API docs, set your auth token in the + // top of the page and see JSON from the API response. // The device plan slug. To find the plan slug, visit [Device plans API docs](https://metal.equinix.com/developers/api/plans), set your auth token in the top of the page and see JSON from the API response // +kubebuilder:validation:Required Plan *string `json:"plan" tf:"plan,omitempty"` + // The ID of the project in which to create the device // The ID of the project in which to create the device // +crossplane:generate:reference:type=Project // +kubebuilder:validation:Optional @@ -136,47 +197,73 @@ type DeviceParameters struct { // +kubebuilder:validation:Optional ProjectIDSelector *v1.Selector `json:"projectIdSelector,omitempty" tf:"-"` + // Array of IDs of the project SSH keys which should be added to the device. + // If you omit this, SSH keys of all the members of the parent project will be added to the device. If + // you specify this array, only the listed project SSH keys will be added. Project SSH keys can be + // created with the equinix_metal_project_ssh_key resource. // Array of IDs of the project SSH keys which should be added to the device. If you omit this, SSH keys of all the members of the parent project will be added to the device. If you specify this array, only the listed project SSH keys (and any user_ssh_key_ids) will be added. Project SSH keys can be created with the [equinix_metal_project_ssh_key](equinix_metal_project_ssh_key.md) resource // +kubebuilder:validation:Optional ProjectSSHKeyIds []*string `json:"projectSshKeyIds,omitempty" tf:"project_ssh_key_ids,omitempty"` + // Whether the device should be reinstalled instead of destroyed when + // modifying user_data, custom_data, or operating system. See Reinstall below for more + // details. // +kubebuilder:validation:Optional Reinstall []ReinstallParameters `json:"reinstall,omitempty" tf:"reinstall,omitempty"` + // JSON for custom partitioning. Only usable on reserved hardware. More + // information in in the + // Custom Partitioning and RAID + // doc. Please note that the disks.partitions.size attribute must be a string, not an integer. It can + // be a number string, or size notation string, e.g. "4G" or "8M" (for gigabytes and megabytes). // 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 // +kubebuilder:validation:Optional Storage *string `json:"storage,omitempty" tf:"storage,omitempty"` + // Tags attached to the device. // Tags attached to the device // +kubebuilder:validation:Optional Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"` + // Timestamp for device termination. For example 2021-09-03T16:32:00+03:00. + // If you don't supply timezone info, timestamp is assumed to be in UTC. // Timestamp for device termination. For example "2021-09-03T16:32:00+03:00". If you don't supply timezone info, timestamp is assumed to be in UTC. // +kubebuilder:validation:Optional TerminationTime *string `json:"terminationTime,omitempty" tf:"termination_time,omitempty"` + // A string of the desired User Data for the device. // A string of the desired User Data for the device // +kubebuilder:validation:Optional UserDataSecretRef *v1.SecretKeySelector `json:"userDataSecretRef,omitempty" tf:"-"` + // Array of IDs of the user SSH keys which should be added to the device. If you omit this, SSH keys of all the members of the parent project will be added to the device. If you specify this array, only the listed user SSH keys (and any project_ssh_key_ids) will be added. User SSH keys can be created with the equinix_metal_ssh_key resource // Array of IDs of the user SSH keys which should be added to the device. If you omit this, SSH keys of all the members of the parent project will be added to the device. If you specify this array, only the listed user SSH keys (and any project_ssh_key_ids) will be added. User SSH keys can be created with the [equinix_metal_ssh_key](equinix_metal_ssh_key.md) resource // +kubebuilder:validation:Optional UserSSHKeyIds []*string `json:"userSshKeyIds,omitempty" tf:"user_ssh_key_ids,omitempty"` + // Only used for devices in reserved hardware. If + // set, the deletion of this device will block until the hardware reservation is marked provisionable + // (about 4 minutes in August 2019). // Only used for devices in reserved hardware. If set, the deletion of this device will block until the hardware reservation is marked provisionable (about 4 minutes in August 2019) // +kubebuilder:validation:Optional WaitForReservationDeprovision *bool `json:"waitForReservationDeprovision,omitempty" tf:"wait_for_reservation_deprovision,omitempty"` } type DevicePortsObservation struct { + + // Whether this port is part of a bond in bonded network setup. Bonded *bool `json:"bonded,omitempty" tf:"bonded,omitempty"` + // The ID of the device. ID *string `json:"id,omitempty" tf:"id,omitempty"` + // MAC address assigned to the port. Mac *string `json:"mac,omitempty" tf:"mac,omitempty"` + // Name of the port (e.g. eth0, or bond0). Name *string `json:"name,omitempty" tf:"name,omitempty"` + // Type of the port (e.g. NetworkPort or NetworkBondPort). Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -188,28 +275,38 @@ type IPAddressObservation struct { type IPAddressParameters struct { + // CIDR suffix for IP address block to be assigned, i.e. amount of addresses. // CIDR suffix for IP block assigned to this device // +kubebuilder:validation:Optional Cidr *float64 `json:"cidr,omitempty" tf:"cidr,omitempty"` + // List of UUIDs of IP block reservations + // from which the public IPv4 address should be taken. // IDs of reservations to pick the blocks from // +kubebuilder:validation:Optional ReservationIds []*string `json:"reservationIds,omitempty" tf:"reservation_ids,omitempty"` + // One of private_ipv4, public_ipv4, public_ipv6. // one of public_ipv4,private_ipv4,public_ipv6 // +kubebuilder:validation:Required Type *string `json:"type" tf:"type,omitempty"` } type NetworkObservation struct { + + // IPv4 or IPv6 address string. Address *string `json:"address,omitempty" tf:"address,omitempty"` + // CIDR suffix for IP address block to be assigned, i.e. amount of addresses. Cidr *float64 `json:"cidr,omitempty" tf:"cidr,omitempty"` + // IP version. One of 4, 6. Family *float64 `json:"family,omitempty" tf:"family,omitempty"` + // Address of router. Gateway *string `json:"gateway,omitempty" tf:"gateway,omitempty"` + // Whether the address is routable from the Internet. Public *bool `json:"public,omitempty" tf:"public,omitempty"` } @@ -221,14 +318,20 @@ type ReinstallObservation struct { type ReinstallParameters struct { + // Whether the OS disk should be filled with 00h bytes before reinstall. + // Defaults to false. // Whether the OS disk should be filled with `00h` bytes before reinstall // +kubebuilder:validation:Optional DeprovisionFast *bool `json:"deprovisionFast,omitempty" tf:"deprovision_fast,omitempty"` + // Whether the provider should favour reinstall over destroy and create. Defaults to + // false. // Whether the device should be reinstalled instead of destroyed // +kubebuilder:validation:Optional Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"` + // Whether the non-OS disks should be kept or wiped during reinstall. + // Defaults to false. // Whether the non-OS disks should be kept or wiped during reinstall // +kubebuilder:validation:Optional PreserveData *bool `json:"preserveData,omitempty" tf:"preserve_data,omitempty"` @@ -248,7 +351,7 @@ type DeviceStatus struct { // +kubebuilder:object:root=true -// Device is the Schema for the Devices API. +// Device is the Schema for the Devices API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" diff --git a/apis/metal/v1alpha1/zz_organization_types.go b/apis/metal/v1alpha1/zz_organization_types.go index 94be538..2caf40b 100755 --- a/apis/metal/v1alpha1/zz_organization_types.go +++ b/apis/metal/v1alpha1/zz_organization_types.go @@ -30,57 +30,73 @@ type AddressObservation struct { type AddressParameters struct { + // Postal address. // Postal address // +kubebuilder:validation:Required Address *string `json:"address" tf:"address,omitempty"` + // City name. // City name // +kubebuilder:validation:Required City *string `json:"city" tf:"city,omitempty"` + // Two letter country code (ISO 3166-1 alpha-2), e.g. US. // Two letter country code (ISO 3166-1 alpha-2), e.g. US // +kubebuilder:validation:Required Country *string `json:"country" tf:"country,omitempty"` + // State name. // State name // +kubebuilder:validation:Optional State *string `json:"state,omitempty" tf:"state,omitempty"` + // Zip Code. // Zip Code // +kubebuilder:validation:Required ZipCode *string `json:"zipCode" tf:"zip_code,omitempty"` } type OrganizationObservation struct { + + // The timestamp for when the organization was created. Created *string `json:"created,omitempty" tf:"created,omitempty"` + // The unique ID of the organization. ID *string `json:"id,omitempty" tf:"id,omitempty"` + // The timestamp for the last time the organization was updated. Updated *string `json:"updated,omitempty" tf:"updated,omitempty"` } type OrganizationParameters struct { + // An object that has the address information. See Address + // below for more details. // Address information block // +kubebuilder:validation:Required Address []AddressParameters `json:"address" tf:"address,omitempty"` + // Description string. // Description string // +kubebuilder:validation:Optional Description *string `json:"description,omitempty" tf:"description,omitempty"` + // Logo URL. // Logo URL // +kubebuilder:validation:Optional Logo *string `json:"logo,omitempty" tf:"logo,omitempty"` + // The name of the Organization. // The name of the Organization // +kubebuilder:validation:Required Name *string `json:"name" tf:"name,omitempty"` + // Twitter handle. // Twitter handle // +kubebuilder:validation:Optional Twitter *string `json:"twitter,omitempty" tf:"twitter,omitempty"` + // Website link. // Website link // +kubebuilder:validation:Optional Website *string `json:"website,omitempty" tf:"website,omitempty"` @@ -100,7 +116,7 @@ type OrganizationStatus struct { // +kubebuilder:object:root=true -// Organization is the Schema for the Organizations API. +// Organization is the Schema for the Organizations API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" diff --git a/apis/metal/v1alpha1/zz_organizationmember_types.go b/apis/metal/v1alpha1/zz_organizationmember_types.go index 038fe8e..e7d60f3 100755 --- a/apis/metal/v1alpha1/zz_organizationmember_types.go +++ b/apis/metal/v1alpha1/zz_organizationmember_types.go @@ -27,34 +27,43 @@ import ( type OrganizationMemberObservation struct { + // When the invitation was created (only known in the invitation stage) // When the invitation was created (only known in the invitation stage) Created *string `json:"created,omitempty" tf:"created,omitempty"` + // The unique ID of the membership. ID *string `json:"id,omitempty" tf:"id,omitempty"` + // The user_id of the user that sent the invitation (only known in the invitation stage) // The user id of the user that sent the invitation (only known in the invitation stage) InvitedBy *string `json:"invitedBy,omitempty" tf:"invited_by,omitempty"` + // The nonce for the invitation (only known in the invitation stage) // The nonce for the invitation (only known in the invitation stage) Nonce *string `json:"nonce,omitempty" tf:"nonce,omitempty"` + // The state of the membership ('invited' when an invitation is open, 'active' when the user is an organization member) // The state of the membership ('invited' when an invitation is open, 'active' when the user is an organization member) State *string `json:"state,omitempty" tf:"state,omitempty"` + // When the invitation was updated (only known in the invitation stage) // When the invitation was updated (only known in the invitation stage) Updated *string `json:"updated,omitempty" tf:"updated,omitempty"` } type OrganizationMemberParameters struct { + // The email address of the user to invite // The email address of the user to invite // +kubebuilder:validation:Required Invitee *string `json:"invitee" tf:"invitee,omitempty"` + // A message to include in the emailed invitation. // A message to the invitee (only used during the invitation stage) // +kubebuilder:validation:Optional Message *string `json:"message,omitempty" tf:"message,omitempty"` + // The organization to invite the user to // The organization to invite the user to // +crossplane:generate:reference:type=Organization // +kubebuilder:validation:Optional @@ -68,10 +77,12 @@ type OrganizationMemberParameters struct { // +kubebuilder:validation:Optional OrganizationIDSelector *v1.Selector `json:"organizationIdSelector,omitempty" tf:"-"` + // Project IDs the member has access to within the organization. If the member is an 'admin', the projects list should be empty. // Project IDs the member has access to within the organization. If the member is an 'owner', the projects list should be empty. // +kubebuilder:validation:Required ProjectsIds []*string `json:"projectsIds" tf:"projects_ids,omitempty"` + // Organization roles (admin, collaborator, limited_collaborator, billing) // Organization roles (owner, collaborator, limited_collaborator, billing) // +kubebuilder:validation:Required Roles []*string `json:"roles" tf:"roles,omitempty"` @@ -91,7 +102,7 @@ type OrganizationMemberStatus struct { // +kubebuilder:object:root=true -// OrganizationMember is the Schema for the OrganizationMembers API. +// OrganizationMember is the Schema for the OrganizationMembers API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" diff --git a/apis/metal/v1alpha1/zz_project_types.go b/apis/metal/v1alpha1/zz_project_types.go index 9233084..b2b8703 100755 --- a/apis/metal/v1alpha1/zz_project_types.go +++ b/apis/metal/v1alpha1/zz_project_types.go @@ -74,6 +74,7 @@ type ProjectParameters struct { // +kubebuilder:validation:Optional BackendTransfer *bool `json:"backendTransfer,omitempty" tf:"backend_transfer,omitempty"` + // User-supplied name of the VRF, unique to the project // The name of the project // +kubebuilder:validation:Required Name *string `json:"name" tf:"name,omitempty"` @@ -110,7 +111,7 @@ type ProjectStatus struct { // +kubebuilder:object:root=true -// Project is the Schema for the Projects API. +// Project is the Schema for the Projects API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" diff --git a/apis/metal/v1alpha1/zz_projectapikey_types.go b/apis/metal/v1alpha1/zz_projectapikey_types.go index 29f9b85..7e47d98 100755 --- a/apis/metal/v1alpha1/zz_projectapikey_types.go +++ b/apis/metal/v1alpha1/zz_projectapikey_types.go @@ -31,10 +31,12 @@ type ProjectAPIKeyObservation struct { type ProjectAPIKeyParameters struct { + // Description string for the Project API Key resource. // Description string for the API key // +kubebuilder:validation:Required Description *string `json:"description" tf:"description,omitempty"` + // UUID of the project where the API key is scoped to. // UUID of project which the new API key is scoped to // +crossplane:generate:reference:type=Project // +kubebuilder:validation:Optional @@ -67,7 +69,7 @@ type ProjectAPIKeyStatus struct { // +kubebuilder:object:root=true -// ProjectAPIKey is the Schema for the ProjectAPIKeys API. +// ProjectAPIKey is the Schema for the ProjectAPIKeys API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" diff --git a/apis/metal/v1alpha1/zz_projectsshkey_types.go b/apis/metal/v1alpha1/zz_projectsshkey_types.go index c964619..b76cb7e 100755 --- a/apis/metal/v1alpha1/zz_projectsshkey_types.go +++ b/apis/metal/v1alpha1/zz_projectsshkey_types.go @@ -27,27 +27,34 @@ import ( type ProjectSSHKeyObservation struct { + // The timestamp for when the SSH key was created. // The timestamp for when the SSH key was created Created *string `json:"created,omitempty" tf:"created,omitempty"` + // The fingerprint of the SSH key. // The fingerprint of the SSH key Fingerprint *string `json:"fingerprint,omitempty" tf:"fingerprint,omitempty"` + // The unique ID of the key. ID *string `json:"id,omitempty" tf:"id,omitempty"` + // The ID of parent project (same as project_id). // The UUID of the Equinix Metal API User who owns this key OwnerID *string `json:"ownerId,omitempty" tf:"owner_id,omitempty"` + // The timestamp for the last time the SSH key was updated. // The timestamp for the last time the SSH key was updated Updated *string `json:"updated,omitempty" tf:"updated,omitempty"` } type ProjectSSHKeyParameters struct { + // The name of the SSH key for identification. // The name of the SSH key for identification // +kubebuilder:validation:Required Name *string `json:"name" tf:"name,omitempty"` + // The ID of parent project. // The ID of parent project // +crossplane:generate:reference:type=Project // +kubebuilder:validation:Optional @@ -61,6 +68,7 @@ type ProjectSSHKeyParameters struct { // +kubebuilder:validation:Optional ProjectIDSelector *v1.Selector `json:"projectIdSelector,omitempty" tf:"-"` + // The public key. If this is a file, it can be read using the file interpolation function. // The public key. If this is a file, it // +kubebuilder:validation:Required PublicKey *string `json:"publicKey" tf:"public_key,omitempty"` @@ -80,7 +88,7 @@ type ProjectSSHKeyStatus struct { // +kubebuilder:object:root=true -// ProjectSSHKey is the Schema for the ProjectSSHKeys API. +// ProjectSSHKey is the Schema for the ProjectSSHKeys API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" diff --git a/apis/metal/v1alpha1/zz_reservedipblock_types.go b/apis/metal/v1alpha1/zz_reservedipblock_types.go index b0e240c..becb846 100755 --- a/apis/metal/v1alpha1/zz_reservedipblock_types.go +++ b/apis/metal/v1alpha1/zz_reservedipblock_types.go @@ -28,55 +28,70 @@ import ( type ReservedIPBlockObservation struct { Address *string `json:"address,omitempty" tf:"address,omitempty"` + // Address family as integer. One of 4 or 6. // Address family as integer (4 or 6) AddressFamily *float64 `json:"addressFamily,omitempty" tf:"address_family,omitempty"` + // Address and mask in CIDR notation, e.g. 147.229.15.30/31. CidrNotation *string `json:"cidrNotation,omitempty" tf:"cidr_notation,omitempty"` Gateway *string `json:"gateway,omitempty" tf:"gateway,omitempty"` + // Boolean flag whether addresses from a block are global (i.e. can be assigned in any + // facility). // Flag indicating whether IP block is global, i.e. assignable in any location Global *bool `json:"global,omitempty" tf:"global,omitempty"` + // The unique ID of the block. ID *string `json:"id,omitempty" tf:"id,omitempty"` Manageable *bool `json:"manageable,omitempty" tf:"manageable,omitempty"` Management *bool `json:"management,omitempty" tf:"management,omitempty"` + // Mask in decimal notation, e.g. 255.255.255.0. // Mask in decimal notation, e.g. 255.255.255.0 Netmask *string `json:"netmask,omitempty" tf:"netmask,omitempty"` + // Boolean flag whether addresses from a block are public. // Flag indicating whether IP block is addressable from the Internet Public *bool `json:"public,omitempty" tf:"public,omitempty"` } type ReservedIPBlockParameters struct { + // Only valid as an argument and required when type is vrf. The size of the network to reserve from an existing VRF ip_range. cidr can only be specified with vrf_id. Range is 22-31. Virtual Circuits require 30-31. Other VRF resources must use a CIDR in the 22-29 range. // the size of the network to reserve from an existing vrf ip_range. `cidr` can only be specified with `vrf_id`. Minimum range is 22-29, with 30-31 supported and necessary for virtual-circuits // +kubebuilder:validation:Optional Cidr *float64 `json:"cidr,omitempty" tf:"cidr,omitempty"` - // This may be helpful for self-managed IPAM. The object must be valid JSON. + // This may be helpful for self-managed IPAM. The object must be valid JSON. This may be helpful for self-managed IPAM. The object must be valid JSON. // +kubebuilder:validation:Optional CustomData *string `json:"customData,omitempty" tf:"custom_data,omitempty"` + // Arbitrary description. // Arbitrary description // +kubebuilder:validation:Optional Description *string `json:"description,omitempty" tf:"description,omitempty"` + // Facility where to allocate the public IP address block, makes sense only + // if type is public_ipv4 and must be empty if type is global_ipv4. Conflicts with metro. // Facility where to allocate the public IP address block, makes sense only for type==public_ipv4, must be empty for type==global_ipv4, conflicts with metro // +kubebuilder:validation:Optional Facility *string `json:"facility,omitempty" tf:"facility,omitempty"` + // Metro where to allocate the public IP address block, makes sense only + // if type is public_ipv4 and must be empty if type is global_ipv4. Conflicts with facility. // Metro where to allocate the public IP address block, makes sense only for type==public_ipv4, must be empty for type==global_ipv4, conflicts with facility // +kubebuilder:validation:Optional Metro *string `json:"metro,omitempty" tf:"metro,omitempty"` + // Only valid as an argument and required when type is vrf. An unreserved network address from an existing ip_range in the specified VRF. // an unreserved network address from an existing vrf ip_range. `network` can only be specified with vrf_id // +kubebuilder:validation:Optional Network *string `json:"network,omitempty" tf:"network,omitempty"` + // The metal project ID where to allocate the address block. // The metal project ID where to allocate the address block // +crossplane:generate:reference:type=Project // +kubebuilder:validation:Optional @@ -90,18 +105,23 @@ type ReservedIPBlockParameters struct { // +kubebuilder:validation:Optional ProjectIDSelector *v1.Selector `json:"projectIdSelector,omitempty" tf:"-"` + // The number of allocated /32 addresses, a power of 2. Required when type is not vrf. // The number of allocated /32 addresses, a power of 2 // +kubebuilder:validation:Optional Quantity *float64 `json:"quantity,omitempty" tf:"quantity,omitempty"` + // String list of tags. // Tags attached to the reserved block // +kubebuilder:validation:Optional Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"` + // One of global_ipv4, public_ipv4, or vrf. Defaults to public_ipv4 for backward + // compatibility. // Either global_ipv4, public_ipv4, or vrf. Defaults to public_ipv4. // +kubebuilder:validation:Optional Type *string `json:"type,omitempty" tf:"type,omitempty"` + // Only valid and required when type is vrf. VRF ID for type=vrf reservations. // VRF ID for type=vrf reservations // +crossplane:generate:reference:type=Vrf // +kubebuilder:validation:Optional @@ -115,6 +135,7 @@ type ReservedIPBlockParameters struct { // +kubebuilder:validation:Optional VrfIDSelector *v1.Selector `json:"vrfIdSelector,omitempty" tf:"-"` + // Wait for the IP reservation block to reach a desired state on resource creation. One of: pending, created. The created state is default and recommended if the addresses are needed within the configuration. An error will be returned if a timeout or the denied state is encountered. // Wait for the IP reservation block to reach a desired state on resource creation. One of: `pending`, `created`. The `created` state is default and recommended if the addresses are needed within the configuration. An error will be returned if a timeout or the `denied` state is encountered. // +kubebuilder:validation:Optional WaitForState *string `json:"waitForState,omitempty" tf:"wait_for_state,omitempty"` @@ -134,7 +155,7 @@ type ReservedIPBlockStatus struct { // +kubebuilder:object:root=true -// ReservedIPBlock is the Schema for the ReservedIPBlocks API. +// ReservedIPBlock is the Schema for the ReservedIPBlocks API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" diff --git a/apis/metal/v1alpha1/zz_spotmarketrequest_types.go b/apis/metal/v1alpha1/zz_spotmarketrequest_types.go index d34fbdf..2da4fd5 100755 --- a/apis/metal/v1alpha1/zz_spotmarketrequest_types.go +++ b/apis/metal/v1alpha1/zz_spotmarketrequest_types.go @@ -52,6 +52,7 @@ type InstanceParametersParameters struct { // +kubebuilder:validation:Optional IpxeScriptURL *string `json:"ipxeScriptUrl,omitempty" tf:"ipxe_script_url,omitempty"` + // Blocks deletion of the SpotMarketRequest device until the lock is disabled. // +kubebuilder:validation:Optional Locked *bool `json:"locked,omitempty" tf:"locked,omitempty"` @@ -75,8 +76,15 @@ type InstanceParametersParameters struct { } type SpotMarketRequestObservation struct { + + // The ID of the Spot Market Request. ID *string `json:"id,omitempty" tf:"id,omitempty"` + // Key/Value pairs of parameters for devices provisioned from + // this request. Valid keys are: billing_cycle, plan, operating_system, hostname, + // termintation_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:Required InstanceParameters []InstanceParametersObservation `json:"instanceParameters,omitempty" tf:"instance_parameters,omitempty"` @@ -84,30 +92,41 @@ type SpotMarketRequestObservation struct { type SpotMarketRequestParameters struct { + // Maximum number devices to be created. // Maximum number devices to be created // +kubebuilder:validation:Required DevicesMax *float64 `json:"devicesMax" tf:"devices_max,omitempty"` + // Miniumum number devices to be created. // Miniumum number devices to be created // +kubebuilder:validation:Required DevicesMin *float64 `json:"devicesMin" tf:"devices_min,omitempty"` + // Facility IDs where devices should be created. // Facility IDs where devices should be created // +kubebuilder:validation:Optional Facilities []*string `json:"facilities,omitempty" tf:"facilities,omitempty"` + // Key/Value pairs of parameters for devices provisioned from + // this request. Valid keys are: billing_cycle, plan, operating_system, hostname, + // termintation_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:Required InstanceParameters []InstanceParametersParameters `json:"instanceParameters" 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 // +kubebuilder:validation:Required MaxBidPrice *float64 `json:"maxBidPrice" tf:"max_bid_price,omitempty"` + // Metro where devices should be created. // Metro where devices should be created // +kubebuilder:validation:Optional Metro *string `json:"metro,omitempty" tf:"metro,omitempty"` + // Project ID. // Project ID // +crossplane:generate:reference:type=Project // +kubebuilder:validation:Optional @@ -121,6 +140,8 @@ type SpotMarketRequestParameters struct { // +kubebuilder:validation:Optional ProjectIDSelector *v1.Selector `json:"projectIdSelector,omitempty" tf:"-"` + // On resource creation wait until all desired devices are active. + // On resource destruction wait until devices are removed. // On resource creation - wait until all desired devices are active, on resource destruction - wait until devices are removed // +kubebuilder:validation:Optional WaitForDevices *bool `json:"waitForDevices,omitempty" tf:"wait_for_devices,omitempty"` @@ -140,7 +161,7 @@ type SpotMarketRequestStatus struct { // +kubebuilder:object:root=true -// SpotMarketRequest is the Schema for the SpotMarketRequests API. +// SpotMarketRequest is the Schema for the SpotMarketRequests API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" diff --git a/apis/metal/v1alpha1/zz_sshkey_types.go b/apis/metal/v1alpha1/zz_sshkey_types.go index c985e1a..d53360f 100755 --- a/apis/metal/v1alpha1/zz_sshkey_types.go +++ b/apis/metal/v1alpha1/zz_sshkey_types.go @@ -27,27 +27,35 @@ import ( type SSHKeyObservation struct { + // The timestamp for when the SSH key was created. // The timestamp for when the SSH key was created Created *string `json:"created,omitempty" tf:"created,omitempty"` + // The fingerprint of the SSH key. // The fingerprint of the SSH key Fingerprint *string `json:"fingerprint,omitempty" tf:"fingerprint,omitempty"` + // The unique ID of the key. ID *string `json:"id,omitempty" tf:"id,omitempty"` + // The UUID of the Equinix Metal API User who owns this key. // The UUID of the Equinix Metal API User who owns this key OwnerID *string `json:"ownerId,omitempty" tf:"owner_id,omitempty"` + // The timestamp for the last time the SSH key was updated. // The timestamp for the last time the SSH key was updated Updated *string `json:"updated,omitempty" tf:"updated,omitempty"` } type SSHKeyParameters struct { + // The name of the SSH key for identification // The name of the SSH key for identification // +kubebuilder:validation:Required Name *string `json:"name" tf:"name,omitempty"` + // The public key. If this is a file, it + // can be read using the file interpolation function // The public key. If this is a file, it // +kubebuilder:validation:Required PublicKey *string `json:"publicKey" tf:"public_key,omitempty"` @@ -67,7 +75,7 @@ type SSHKeyStatus struct { // +kubebuilder:object:root=true -// SSHKey is the Schema for the SSHKeys API. +// SSHKey is the Schema for the SSHKeys API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" diff --git a/apis/metal/v1alpha1/zz_userapikey_types.go b/apis/metal/v1alpha1/zz_userapikey_types.go index f024c9e..7eff44f 100755 --- a/apis/metal/v1alpha1/zz_userapikey_types.go +++ b/apis/metal/v1alpha1/zz_userapikey_types.go @@ -28,12 +28,14 @@ import ( type UserAPIKeyObservation struct { ID *string `json:"id,omitempty" tf:"id,omitempty"` + // UUID of the owner of the API key. // UUID of user owning this key UserID *string `json:"userId,omitempty" tf:"user_id,omitempty"` } type UserAPIKeyParameters struct { + // Description string for the User API Key resource. // Description string for the API key // +kubebuilder:validation:Required Description *string `json:"description" tf:"description,omitempty"` @@ -57,7 +59,7 @@ type UserAPIKeyStatus struct { // +kubebuilder:object:root=true -// UserAPIKey is the Schema for the UserAPIKeys API. +// UserAPIKey is the Schema for the UserAPIKeys API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" diff --git a/apis/metal/v1alpha1/zz_vlan_types.go b/apis/metal/v1alpha1/zz_vlan_types.go index 057c118..607e681 100755 --- a/apis/metal/v1alpha1/zz_vlan_types.go +++ b/apis/metal/v1alpha1/zz_vlan_types.go @@ -26,15 +26,19 @@ import ( ) type VlanObservation struct { + + // ID of the virtual network. ID *string `json:"id,omitempty" tf:"id,omitempty"` } type VlanParameters struct { + // Description string. // Description string // +kubebuilder:validation:Optional Description *string `json:"description,omitempty" tf:"description,omitempty"` + // Facility where to create the VLAN. // Facility where to create the VLAN // +kubebuilder:validation:Optional Facility *string `json:"facility,omitempty" tf:"facility,omitempty"` @@ -42,6 +46,7 @@ type VlanParameters struct { // +kubebuilder:validation:Optional Metro *string `json:"metro,omitempty" tf:"metro,omitempty"` + // ID of parent project. // ID of parent project // +crossplane:generate:reference:type=Project // +kubebuilder:validation:Optional @@ -55,6 +60,7 @@ type VlanParameters struct { // +kubebuilder:validation:Optional ProjectIDSelector *v1.Selector `json:"projectIdSelector,omitempty" tf:"-"` + // VLAN ID, must be unique in metro. // VLAN ID, must be unique in metro // +kubebuilder:validation:Optional Vxlan *float64 `json:"vxlan,omitempty" tf:"vxlan,omitempty"` @@ -74,7 +80,7 @@ type VlanStatus struct { // +kubebuilder:object:root=true -// Vlan is the Schema for the Vlans API. +// Vlan is the Schema for the Vlans API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" diff --git a/apis/network/v1alpha1/zz_acltemplate_types.go b/apis/network/v1alpha1/zz_acltemplate_types.go index 6207a07..023ad9e 100755 --- a/apis/network/v1alpha1/zz_acltemplate_types.go +++ b/apis/network/v1alpha1/zz_acltemplate_types.go @@ -27,49 +27,66 @@ import ( type ACLTemplateObservation struct { + // Status of ACL template provisioning process, where template was applied. + // One of PROVISIONING, PROVISIONED. // Status of ACL template provisioning process on a device, where template was applied DeviceACLStatus *string `json:"deviceAclStatus,omitempty" tf:"device_acl_status,omitempty"` + // List of the devices where the ACL template is applied. // Device Details to which ACL template is assigned to. DeviceDetails []DeviceDetailsObservation `json:"deviceDetails,omitempty" tf:"device_details,omitempty"` + // (Deprecated) Identifier of a network device where template was applied. // Identifier of a network device where template was applied DeviceID *string `json:"deviceId,omitempty" tf:"device_id,omitempty"` ID *string `json:"id,omitempty" tf:"id,omitempty"` + // One or more rules to specify allowed inbound traffic. + // Rules are ordered, matching traffic rule stops processing subsequent ones. // One or more rules to specify allowed inbound traffic. Rules are ordered, matching traffic rule stops processing subsequent ones. // +kubebuilder:validation:Required InboundRule []InboundRuleObservation `json:"inboundRule,omitempty" tf:"inbound_rule,omitempty"` + // Unique identifier of ACL template resource. // Unique identifier of ACL template resource UUID *string `json:"uuid,omitempty" tf:"uuid,omitempty"` } type ACLTemplateParameters struct { + // ACL template description, up to 200 characters. // ACL template description, up to 200 characters // +kubebuilder:validation:Optional Description *string `json:"description,omitempty" tf:"description,omitempty"` + // One or more rules to specify allowed inbound traffic. + // Rules are ordered, matching traffic rule stops processing subsequent ones. // One or more rules to specify allowed inbound traffic. Rules are ordered, matching traffic rule stops processing subsequent ones. // +kubebuilder:validation:Required InboundRule []InboundRuleParameters `json:"inboundRule" tf:"inbound_rule,omitempty"` + // (Deprecated) ACL template location metro code. // ACL template location metro code // +kubebuilder:validation:Optional MetroCode *string `json:"metroCode,omitempty" tf:"metro_code,omitempty"` + // ACL template name. // ACL template name // +kubebuilder:validation:Required Name *string `json:"name" tf:"name,omitempty"` } type DeviceDetailsObservation struct { + + // Device ACL provisioning status where template was applied. One of PROVISIONING, + // PROVISIONED. ACLStatus *string `json:"aclStatus,omitempty" tf:"acl_status,omitempty"` + // Device name. Name *string `json:"name,omitempty" tf:"name,omitempty"` + // Device uuid. UUID *string `json:"uuid,omitempty" tf:"uuid,omitempty"` } @@ -87,26 +104,34 @@ type InboundRuleObservation struct { type InboundRuleParameters struct { + // Inbound rule description, up to 200 characters. // Inbound rule description, up to 200 characters // +kubebuilder:validation:Optional Description *string `json:"description,omitempty" tf:"description,omitempty"` + // Inbound traffic destination ports. Allowed values are a comma separated + // list of ports, e.g., 20,22,23, port range, e.g., 1023-1040 or word any. // Inbound traffic destination ports. Either up to 10, comma separated ports or port range or any word // +kubebuilder:validation:Required DstPort *string `json:"dstPort" tf:"dst_port,omitempty"` + // Inbound traffic protocol. One of IP, TCP, UDP. // Inbound traffic protocol. One of: `IP`, `TCP`, `UDP` // +kubebuilder:validation:Required Protocol *string `json:"protocol" tf:"protocol,omitempty"` + // Inbound traffic source ports. Allowed values are a comma separated list + // of ports, e.g., 20,22,23, port range, e.g., 1023-1040 or word any. // Inbound traffic source ports. Either up to 10, comma separated ports or port range or any word // +kubebuilder:validation:Required SrcPort *string `json:"srcPort" tf:"src_port,omitempty"` + // Inbound traffic source IP subnet in CIDR format. // Inbound traffic source IP subnet in CIDR format // +kubebuilder:validation:Optional Subnet *string `json:"subnet,omitempty" tf:"subnet,omitempty"` + // (Deprecated) Inbound traffic source IP subnets in CIDR format. // Inbound traffic source IP subnets in CIDR format // +kubebuilder:validation:Optional Subnets []*string `json:"subnets,omitempty" tf:"subnets,omitempty"` @@ -126,7 +151,7 @@ type ACLTemplateStatus struct { // +kubebuilder:object:root=true -// ACLTemplate is the Schema for the ACLTemplates API. +// ACLTemplate is the Schema for the ACLTemplates API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" diff --git a/apis/network/v1alpha1/zz_bgp_types.go b/apis/network/v1alpha1/zz_bgp_types.go index c8a182c..7693fe6 100755 --- a/apis/network/v1alpha1/zz_bgp_types.go +++ b/apis/network/v1alpha1/zz_bgp_types.go @@ -27,43 +27,57 @@ import ( type BGPObservation struct { + // unique identifier of a network device that is a local peer in a given BGP peering + // configuration. // Unique identifier of a network device that is a local peer in a given BGP peering configuration DeviceID *string `json:"deviceId,omitempty" tf:"device_id,omitempty"` ID *string `json:"id,omitempty" tf:"id,omitempty"` + // BGP peering configuration provisioning status, one of PROVISIONING, + // PENDING_UPDATE, PROVISIONED, FAILED. // BGP peering configuration provisioning status ProvisioningStatus *string `json:"provisioningStatus,omitempty" tf:"provisioning_status,omitempty"` + // BGP peer state, one of Idle, Connect, Active, OpenSent, OpenConfirm, + // Established. // BGP peer state State *string `json:"state,omitempty" tf:"state,omitempty"` + // BGP peering configuration unique identifier. // BGP peering configuration unique identifier UUID *string `json:"uuid,omitempty" tf:"uuid,omitempty"` } type BGPParameters struct { + // shared key used for BGP peer authentication. // Shared key used for BGP peer authentication // +kubebuilder:validation:Optional AuthenticationKeySecretRef *v1.SecretKeySelector `json:"authenticationKeySecretRef,omitempty" tf:"-"` + // identifier of a connection established between. + // network device and remote service provider that will be used for peering. // Identifier of a connection established between network device and remote service provider that will be used for peering // +kubebuilder:validation:Required ConnectionID *string `json:"connectionId" tf:"connection_id,omitempty"` + // Local ASN number. // Local ASN number // +kubebuilder:validation:Required LocalAsn *float64 `json:"localAsn" tf:"local_asn,omitempty"` + // IP address in CIDR format of a local device. // IP address in CIDR format of a local device // +kubebuilder:validation:Required LocalIPAddress *string `json:"localIpAddress" tf:"local_ip_address,omitempty"` + // Remote ASN number. // Remote ASN number // +kubebuilder:validation:Required RemoteAsn *float64 `json:"remoteAsn" tf:"remote_asn,omitempty"` + // IP address of remote peer. // IP address of remote peer // +kubebuilder:validation:Required RemoteIPAddress *string `json:"remoteIpAddress" tf:"remote_ip_address,omitempty"` @@ -83,7 +97,7 @@ type BGPStatus struct { // +kubebuilder:object:root=true -// BGP is the Schema for the BGPs API. +// BGP is the Schema for the BGPs API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" diff --git a/apis/network/v1alpha1/zz_device_types.go b/apis/network/v1alpha1/zz_device_types.go index 3a69614..9517989 100755 --- a/apis/network/v1alpha1/zz_device_types.go +++ b/apis/network/v1alpha1/zz_device_types.go @@ -27,31 +27,42 @@ import ( type ClusterDetailsObservation struct { + // The ID of the cluster. // The id of the cluster ClusterID *string `json:"clusterId,omitempty" tf:"cluster_id,omitempty"` + // An object that has node0 configuration. + // See Cluster Details - Nodes below for more details. // An object that has node0 details // +kubebuilder:validation:Required 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 // +kubebuilder:validation:Required Node1 []Node1Observation `json:"node1,omitempty" tf:"node1,omitempty"` + // The number of nodes in the cluster. // The number of nodes in the cluster NumOfNodes *float64 `json:"numOfNodes,omitempty" tf:"num_of_nodes,omitempty"` } type ClusterDetailsParameters struct { + // The name of the cluster device // The name of the cluster device // +kubebuilder:validation:Required ClusterName *string `json:"clusterName" tf:"cluster_name,omitempty"` + // An object that has node0 configuration. + // See Cluster Details - Nodes below for more details. // An object that has node0 details // +kubebuilder:validation:Required 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:Required Node1 []Node1Parameters `json:"node1" tf:"node1,omitempty"` @@ -59,122 +70,171 @@ type ClusterDetailsParameters struct { type DeviceObservation struct { + // (Autonomous System Number) Unique identifier for a network on the internet. // Autonomous system number Asn *float64 `json:"asn,omitempty" tf:"asn,omitempty"` + // 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 []ClusterDetailsObservation `json:"clusterDetails,omitempty" tf:"cluster_details,omitempty"` + // interface identifier. ID *string `json:"id,omitempty" tf:"id,omitempty"` + // Device location Equinix Business Exchange name. // Device location Equinix Business Exchange name Ibx *string `json:"ibx,omitempty" tf:"ibx,omitempty"` + // List of device interfaces. See Interface Attribute below + // for more details. // List of device interfaces Interface []InterfaceObservation `json:"interface,omitempty" tf:"interface,omitempty"` + // Unique identifier of applied license file. // Unique identifier of applied license file LicenseFileID *string `json:"licenseFileId,omitempty" tf:"license_file_id,omitempty"` + // Device license registration status. Possible values are APPLYING_LICENSE, + // REGISTERED, APPLIED, WAITING_FOR_CLUSTER_SETUP, REGISTRATION_FAILED. // Device license registration status LicenseStatus *string `json:"licenseStatus,omitempty" tf:"license_status,omitempty"` + // Device redundancy type applicable for HA devices, either + // primary or secondary. // Device redundancy type applicable for HA devices, either primary or secondary RedundancyType *string `json:"redundancyType,omitempty" tf:"redundancy_type,omitempty"` + // Unique identifier for a redundant device applicable for HA devices. // Unique identifier for a redundant device, applicable for HA device RedundantID *string `json:"redundantId,omitempty" tf:"redundant_id,omitempty"` + // Device location region. // Device location region Region *string `json:"region,omitempty" tf:"region,omitempty"` + // IP address of SSH enabled interface on the device. // IP address of SSH enabled interface on the device SSHIPAddress *string `json:"sshIpAddress,omitempty" tf:"ssh_ip_address,omitempty"` + // FQDN of SSH enabled interface on the device. // FQDN of SSH enabled interface on the device SSHIPFqdn *string `json:"sshIpFqdn,omitempty" tf:"ssh_ip_fqdn,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 []SecondaryDeviceObservation `json:"secondaryDevice,omitempty" tf:"secondary_device,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. // Device provisioning status Status *string `json:"status,omitempty" tf:"status,omitempty"` + // Device unique identifier. // Device unique identifier UUID *string `json:"uuid,omitempty" tf:"uuid,omitempty"` + // Device location zone code. // Device location zone code ZoneCode *string `json:"zoneCode,omitempty" tf:"zone_code,omitempty"` } type DeviceParameters struct { + // Identifier of an ACL template that will be applied on the device. // Unique identifier of applied ACL template // +kubebuilder:validation:Optional ACLTemplateID *string `json:"aclTemplateId,omitempty" tf:"acl_template_id,omitempty"` + // Billing account number for a device. // Device billing account number // +kubebuilder:validation:Required AccountNumber *string `json:"accountNumber" tf:"account_number,omitempty"` + // 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 // +kubebuilder:validation:Optional AdditionalBandwidth *float64 `json:"additionalBandwidth,omitempty" tf:"additional_bandwidth,omitempty"` + // 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) // +kubebuilder:validation:Optional Byol *bool `json:"byol,omitempty" tf:"byol,omitempty"` + // 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"` + // Number of CPU cores used by device. // Number of CPU cores used by device // +kubebuilder:validation:Required CoreCount *float64 `json:"coreCount" tf:"core_count,omitempty"` + // Device hostname prefix. // Device hostname prefix // +kubebuilder:validation:Optional Hostname *string `json:"hostname,omitempty" tf:"hostname,omitempty"` + // 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 // +kubebuilder:validation:Optional InterfaceCount *float64 `json:"interfaceCount,omitempty" tf:"interface_count,omitempty"` + // Path to the license file that will be uploaded and applied on a + // device. Applicable for some devices 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 // +kubebuilder:validation:Optional LicenseFile *string `json:"licenseFile,omitempty" tf:"license_file,omitempty"` + // License Token applicable for some device types in BYOL licensing + // mode. // License Token applicable for some device types in BYOL licensing mode // +kubebuilder:validation:Optional LicenseToken *string `json:"licenseToken,omitempty" tf:"license_token,omitempty"` + // Device location metro code. // Device location metro code // +kubebuilder:validation:Required MetroCode *string `json:"metroCode" tf:"metro_code,omitempty"` + // Identifier of an MGMT interface ACL template that will be + // applied on the device. // Unique identifier of applied MGMT ACL template // +kubebuilder:validation:Optional MgmtACLTemplateUUID *string `json:"mgmtAclTemplateUuid,omitempty" tf:"mgmt_acl_template_uuid,omitempty"` + // Device name. // Device name // +kubebuilder:validation:Required Name *string `json:"name" tf:"name,omitempty"` + // List of email addresses that will receive device status + // notifications. // List of email addresses that will receive device status notifications // +kubebuilder:validation:Required Notifications []*string `json:"notifications" tf:"notifications,omitempty"` + // Name/number used to identify device order on the invoice. // Name/number used to identify device order on the invoice // +kubebuilder:validation:Optional OrderReference *string `json:"orderReference,omitempty" tf:"order_reference,omitempty"` + // Device software package code. // Device software package code // +kubebuilder:validation:Required PackageCode *string `json:"packageCode" tf:"package_code,omitempty"` + // Purchase order number associated with a device order. // Purchase order number associated with a device order // +kubebuilder:validation:Optional PurchaseOrderNumber *string `json:"purchaseOrderNumber,omitempty" tf:"purchase_order_number,omitempty"` @@ -183,38 +243,50 @@ type DeviceParameters struct { // +kubebuilder:validation:Optional 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"` + // 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) // +kubebuilder:validation:Optional SelfManaged *bool `json:"selfManaged,omitempty" tf:"self_managed,omitempty"` + // Device term length. // Device term length // +kubebuilder:validation:Required TermLength *float64 `json:"termLength" tf:"term_length,omitempty"` + // Device license throughput. // Device license throughput // +kubebuilder:validation:Optional Throughput *float64 `json:"throughput,omitempty" tf:"throughput,omitempty"` + // License throughput unit. One of Mbps or Gbps. // Device license throughput unit (Mbps or Gbps) // +kubebuilder:validation:Optional ThroughputUnit *string `json:"throughputUnit,omitempty" tf:"throughput_unit,omitempty"` + // Device type code. // Device type code // +kubebuilder:validation:Required TypeCode *string `json:"typeCode" tf:"type_code,omitempty"` + // Map of vendor specific configuration parameters for a device + // (controller1, activationKey, managementType, siteId, systemIpAddress) // Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress) // +kubebuilder:validation:Optional VendorConfiguration map[string]*string `json:"vendorConfiguration,omitempty" tf:"vendor_configuration,omitempty"` + // Device software software version. // Device software software version // +kubebuilder:validation:Required Version *string `json:"version" tf:"version,omitempty"` + // interface identifier. // device interface id picked for WAN // +kubebuilder:validation:Optional WanInterfaceID *string `json:"wanInterfaceId,omitempty" tf:"wan_interface_id,omitempty"` @@ -225,30 +297,44 @@ type DeviceSSHKeyObservation struct { type DeviceSSHKeyParameters struct { + // Device name. // Reference by name to previously provisioned public SSH key // +kubebuilder:validation:Required KeyName *string `json:"keyName" tf:"key_name,omitempty"` + // username associated with given key. // Username associated with given key // +kubebuilder:validation:Required Username *string `json:"username" tf:"username,omitempty"` } type InterfaceObservation struct { + + // interface management type (Equinix Managed or empty). AssignedType *string `json:"assignedType,omitempty" tf:"assigned_type,omitempty"` + // interface identifier. ID *float64 `json:"id,omitempty" tf:"id,omitempty"` + // interface IP address. IPAddress *string `json:"ipAddress,omitempty" tf:"ip_address,omitempty"` + // interface MAC address. MacAddress *string `json:"macAddress,omitempty" tf:"mac_address,omitempty"` + // reference by name to previously provisioned public SSH key. Name *string `json:"name,omitempty" tf:"name,omitempty"` + // interface operational status. One of up, down. OperationalStatus *string `json:"operationalStatus,omitempty" tf:"operational_status,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. Status *string `json:"status,omitempty" tf:"status,omitempty"` + // interface type. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -257,23 +343,30 @@ type InterfaceParameters struct { type Node0Observation struct { + // reference by name to previously provisioned public SSH key. // The name of the node Name *string `json:"name,omitempty" tf:"name,omitempty"` + // Device unique identifier. // The unique id of the node UUID *string `json:"uuid,omitempty" tf:"uuid,omitempty"` } type Node0Parameters struct { + // License file id. This is necessary for Fortinet and Juniper clusters. // License file id. This is necessary for Fortinet and Juniper clusters // +kubebuilder:validation:Optional LicenseFileIDSecretRef *v1.SecretKeySelector `json:"licenseFileIdSecretRef,omitempty" tf:"-"` + // License token. This is necessary for Palo Alto clusters. // License token. This is necessary for Palo Alto clusters // +kubebuilder:validation:Optional LicenseTokenSecretRef *v1.SecretKeySelector `json:"licenseTokenSecretRef,omitempty" tf:"-"` + // 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"` @@ -281,23 +374,29 @@ type Node0Parameters struct { type Node1Observation struct { + // reference by name to previously provisioned public SSH key. // The name of the node Name *string `json:"name,omitempty" tf:"name,omitempty"` + // Device unique identifier. // The unique id of the node UUID *string `json:"uuid,omitempty" tf:"uuid,omitempty"` } type Node1Parameters struct { + // Unique identifier of applied license file. // License file id. This is necessary for Fortinet and Juniper clusters // +kubebuilder:validation:Optional LicenseFileIDSecretRef *v1.SecretKeySelector `json:"licenseFileIdSecretRef,omitempty" tf:"-"` + // License Token can be provided for some device types o the device. // License token. This is necessary for Palo Alto clusters // +kubebuilder:validation:Optional LicenseTokenSecretRef *v1.SecretKeySelector `json:"licenseTokenSecretRef,omitempty" tf:"-"` + // Map of vendor specific configuration parameters for a device + // (controller1, activationKey, managementType, siteId, systemIpAddress) // 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"` @@ -308,26 +407,34 @@ type Node1VendorConfigurationObservation struct { type Node1VendorConfigurationParameters struct { + // Activation key. This is required for Velocloud clusters. // Activation key. This is required for Velocloud clusters // +kubebuilder:validation:Optional ActivationKeySecretRef *v1.SecretKeySelector `json:"activationKeySecretRef,omitempty" tf:"-"` + // 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 // +kubebuilder:validation:Optional AdminPasswordSecretRef *v1.SecretKeySelector `json:"adminPasswordSecretRef,omitempty" tf:"-"` + // System IP Address. Mandatory for the Fortinet SDWAN cluster device. // System IP Address. Mandatory for the Fortinet SDWAN cluster device // +kubebuilder:validation:Optional Controller1 *string `json:"controller1,omitempty" tf:"controller1,omitempty"` + // Controller fqdn. This is required for Velocloud clusters. // Controller fqdn. This is required for Velocloud clusters // +kubebuilder:validation:Optional ControllerFqdn *string `json:"controllerFqdn,omitempty" tf:"controller_fqdn,omitempty"` + // Secondary device hostname. // Hostname. This is necessary for Palo Alto, Juniper, and Fortinet clusters // +kubebuilder:validation:Optional Hostname *string `json:"hostname,omitempty" tf:"hostname,omitempty"` + // 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 // +kubebuilder:validation:Optional RootPasswordSecretRef *v1.SecretKeySelector `json:"rootPasswordSecretRef,omitempty" tf:"-"` @@ -338,30 +445,44 @@ type SSHKeyObservation struct { type SSHKeyParameters struct { + // Device name. // Reference by name to previously provisioned public SSH key // +kubebuilder:validation:Required KeyName *string `json:"keyName" tf:"key_name,omitempty"` + // username associated with given key. // Username associated with given key // +kubebuilder:validation:Required Username *string `json:"username" tf:"username,omitempty"` } type SecondaryDeviceInterfaceObservation struct { + + // interface management type (Equinix Managed or empty). AssignedType *string `json:"assignedType,omitempty" tf:"assigned_type,omitempty"` + // interface identifier. ID *float64 `json:"id,omitempty" tf:"id,omitempty"` + // interface IP address. IPAddress *string `json:"ipAddress,omitempty" tf:"ip_address,omitempty"` + // interface MAC address. MacAddress *string `json:"macAddress,omitempty" tf:"mac_address,omitempty"` + // reference by name to previously provisioned public SSH key. Name *string `json:"name,omitempty" tf:"name,omitempty"` + // interface operational status. One of up, down. OperationalStatus *string `json:"operationalStatus,omitempty" tf:"operational_status,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. Status *string `json:"status,omitempty" tf:"status,omitempty"` + // interface type. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -370,84 +491,118 @@ type SecondaryDeviceInterfaceParameters struct { type SecondaryDeviceObservation struct { + // (Autonomous System Number) Unique identifier for a network on the internet. // Autonomous system number Asn *float64 `json:"asn,omitempty" tf:"asn,omitempty"` + // Device location Equinix Business Exchange name. // Device location Equinix Business Exchange name Ibx *string `json:"ibx,omitempty" tf:"ibx,omitempty"` + // List of device interfaces. See Interface Attribute below + // for more details. // List of device interfaces Interface []SecondaryDeviceInterfaceObservation `json:"interface,omitempty" tf:"interface,omitempty"` + // Unique identifier of applied license file. // Unique identifier of applied license file LicenseFileID *string `json:"licenseFileId,omitempty" tf:"license_file_id,omitempty"` + // Device license registration status. Possible values are APPLYING_LICENSE, + // REGISTERED, APPLIED, WAITING_FOR_CLUSTER_SETUP, REGISTRATION_FAILED. // Device license registration status LicenseStatus *string `json:"licenseStatus,omitempty" tf:"license_status,omitempty"` + // Device redundancy type applicable for HA devices, either + // primary or secondary. // Device redundancy type applicable for HA devices, either primary or secondary RedundancyType *string `json:"redundancyType,omitempty" tf:"redundancy_type,omitempty"` + // Unique identifier for a redundant device applicable for HA devices. // Unique identifier for a redundant device, applicable for HA device RedundantID *string `json:"redundantId,omitempty" tf:"redundant_id,omitempty"` + // Device location region. // Device location region Region *string `json:"region,omitempty" tf:"region,omitempty"` + // IP address of SSH enabled interface on the device. // IP address of SSH enabled interface on the device SSHIPAddress *string `json:"sshIpAddress,omitempty" tf:"ssh_ip_address,omitempty"` + // FQDN of SSH enabled interface on the device. // FQDN of SSH enabled interface on the device SSHIPFqdn *string `json:"sshIpFqdn,omitempty" tf:"ssh_ip_fqdn,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. // Device provisioning status Status *string `json:"status,omitempty" tf:"status,omitempty"` + // Device unique identifier. // Device unique identifier UUID *string `json:"uuid,omitempty" tf:"uuid,omitempty"` + // Device location zone code. // Device location zone code ZoneCode *string `json:"zoneCode,omitempty" tf:"zone_code,omitempty"` } type SecondaryDeviceParameters struct { + // Identifier of a WAN interface ACL template that will be applied + // on a secondary device. // Unique identifier of applied ACL template // +kubebuilder:validation:Optional ACLTemplateID *string `json:"aclTemplateId,omitempty" tf:"acl_template_id,omitempty"` + // Billing account number for secondary device. // Device billing account number // +kubebuilder:validation:Required AccountNumber *string `json:"accountNumber" tf:"account_number,omitempty"` + // Additional Internet bandwidth, in Mbps, for a secondary + // device. // Additional Internet bandwidth, in Mbps, that will be allocated to the device // +kubebuilder:validation:Optional AdditionalBandwidth *float64 `json:"additionalBandwidth,omitempty" tf:"additional_bandwidth,omitempty"` + // Secondary device hostname. // Device hostname prefix // +kubebuilder:validation:Optional Hostname *string `json:"hostname,omitempty" tf:"hostname,omitempty"` + // Path to the license file that will be uploaded and applied on a + // secondary device. Applicable for some devices 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 // +kubebuilder:validation:Optional LicenseFile *string `json:"licenseFile,omitempty" tf:"license_file,omitempty"` + // License Token can be provided for some device types o the device. // License Token applicable for some device types in BYOL licensing mode // +kubebuilder:validation:Optional LicenseToken *string `json:"licenseToken,omitempty" tf:"license_token,omitempty"` + // Metro location of a secondary device. // Device location metro code // +kubebuilder:validation:Required MetroCode *string `json:"metroCode" tf:"metro_code,omitempty"` + // Identifier of an MGMT interface ACL template that will be + // applied on the device. // Unique identifier of applied MGMT ACL template // +kubebuilder:validation:Optional MgmtACLTemplateUUID *string `json:"mgmtAclTemplateUuid,omitempty" tf:"mgmt_acl_template_uuid,omitempty"` + // Secondary device name. // Device name // +kubebuilder:validation:Required Name *string `json:"name" tf:"name,omitempty"` + // List of email addresses that will receive notifications about + // secondary device. // List of email addresses that will receive device status notifications // +kubebuilder:validation:Required Notifications []*string `json:"notifications" tf:"notifications,omitempty"` @@ -456,10 +611,14 @@ type SecondaryDeviceParameters struct { // +kubebuilder:validation:Optional 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. // Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress) // +kubebuilder:validation:Optional VendorConfiguration map[string]*string `json:"vendorConfiguration,omitempty" tf:"vendor_configuration,omitempty"` + // interface identifier. // device interface id picked for WAN // +kubebuilder:validation:Optional WanInterfaceID *string `json:"wanInterfaceId,omitempty" tf:"wan_interface_id,omitempty"` @@ -470,26 +629,34 @@ type VendorConfigurationObservation struct { type VendorConfigurationParameters struct { + // Activation key. This is required for Velocloud clusters. // Activation key. This is required for Velocloud clusters // +kubebuilder:validation:Optional ActivationKeySecretRef *v1.SecretKeySelector `json:"activationKeySecretRef,omitempty" tf:"-"` + // 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 // +kubebuilder:validation:Optional AdminPasswordSecretRef *v1.SecretKeySelector `json:"adminPasswordSecretRef,omitempty" tf:"-"` + // System IP Address. Mandatory for the Fortinet SDWAN cluster device. // System IP Address. Mandatory for the Fortinet SDWAN cluster device // +kubebuilder:validation:Optional Controller1 *string `json:"controller1,omitempty" tf:"controller1,omitempty"` + // Controller fqdn. This is required for Velocloud clusters. // Controller fqdn. This is required for Velocloud clusters // +kubebuilder:validation:Optional ControllerFqdn *string `json:"controllerFqdn,omitempty" tf:"controller_fqdn,omitempty"` + // Hostname. This is necessary for Palo Alto, Juniper, and Fortinet clusters. // Hostname. This is necessary for Palo Alto, Juniper, and Fortinet clusters // +kubebuilder:validation:Optional Hostname *string `json:"hostname,omitempty" tf:"hostname,omitempty"` + // 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 // +kubebuilder:validation:Optional RootPasswordSecretRef *v1.SecretKeySelector `json:"rootPasswordSecretRef,omitempty" tf:"-"` @@ -509,7 +676,7 @@ type DeviceStatus struct { // +kubebuilder:object:root=true -// Device is the Schema for the Devices API. +// Device is the Schema for the Devices API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" diff --git a/apis/network/v1alpha1/zz_devicelink_types.go b/apis/network/v1alpha1/zz_devicelink_types.go index ee6ab25..ca4451c 100755 --- a/apis/network/v1alpha1/zz_devicelink_types.go +++ b/apis/network/v1alpha1/zz_devicelink_types.go @@ -27,23 +27,30 @@ import ( type DeviceLinkDeviceObservation struct { + // IP address from device link subnet that was assigned to the device // Assigned IP address from device link subnet IPAddress *string `json:"ipAddress,omitempty" tf:"ip_address,omitempty"` + // device link provisioning status on a given device. One of PROVISIONING, + // PROVISIONED, DEPROVISIONING, DEPROVISIONED, FAILED. // Device link connection provisioning status Status *string `json:"status,omitempty" tf:"status,omitempty"` } type DeviceLinkDeviceParameters struct { + // Device ASN number. Not required for self configured devices. // Device ASN number // +kubebuilder:validation:Optional Asn *float64 `json:"asn,omitempty" tf:"asn,omitempty"` + // Device identifier. // Device identifier // +kubebuilder:validation:Required ID *string `json:"id" tf:"id,omitempty"` + // Device network interface identifier to use for device link + // connection. // Device network interface identifier to use for device link connection // +kubebuilder:validation:Optional InterfaceID *float64 `json:"interfaceId,omitempty" tf:"interface_id,omitempty"` @@ -51,31 +58,44 @@ type DeviceLinkDeviceParameters struct { type DeviceLinkObservation struct { + // definition of one or more devices belonging to the + // device link. See Device section below for more details. // +kubebuilder:validation:Required Device []DeviceLinkDeviceObservation `json:"device,omitempty" tf:"device,omitempty"` + // Device identifier. ID *string `json:"id,omitempty" tf:"id,omitempty"` + // Device link provisioning status. One of PROVISIONING, PROVISIONED, + // DEPROVISIONING, DEPROVISIONED, FAILED. // Device link provisioning status Status *string `json:"status,omitempty" tf:"status,omitempty"` + // Device link unique identifier. // Device link unique identifier UUID *string `json:"uuid,omitempty" tf:"uuid,omitempty"` } type DeviceLinkParameters struct { + // definition of one or more devices belonging to the + // device link. See Device section below for more details. // +kubebuilder:validation:Required Device []DeviceLinkDeviceParameters `json:"device" tf:"device,omitempty"` + // definition of one or more, inter metro, connections belonging + // to the device link. See Link section below for more details. // link // +kubebuilder:validation:Optional Link []LinkParameters `json:"link,omitempty" tf:"link,omitempty"` + // device link name. // name // +kubebuilder:validation:Required Name *string `json:"name" tf:"name,omitempty"` + // device link subnet in CIDR format. Not required for link + // between self configured devices. // subnet // +kubebuilder:validation:Optional Subnet *string `json:"subnet,omitempty" tf:"subnet,omitempty"` @@ -86,30 +106,38 @@ type LinkObservation struct { type LinkParameters struct { + // billing account number to be used for + // connection charges // Billing account number to be used for connection charges // +kubebuilder:validation:Required AccountNumber *string `json:"accountNumber" tf:"account_number,omitempty"` + // connection destination metro code. // Connection destination metro code // +kubebuilder:validation:Required DstMetroCode *string `json:"dstMetroCode" tf:"dst_metro_code,omitempty"` + // (Deprecated) connection destination zone code is not required. // Connection destination zone code // +kubebuilder:validation:Optional DstZoneCode *string `json:"dstZoneCode,omitempty" tf:"dst_zone_code,omitempty"` + // connection source metro code. // Connection source metro code // +kubebuilder:validation:Required SrcMetroCode *string `json:"srcMetroCode" tf:"src_metro_code,omitempty"` + // (Deprecated) connection source zone code is not required. // Connection source zone code // +kubebuilder:validation:Optional SrcZoneCode *string `json:"srcZoneCode,omitempty" tf:"src_zone_code,omitempty"` + // connection throughput. // Connection throughput // +kubebuilder:validation:Required Throughput *string `json:"throughput" tf:"throughput,omitempty"` + // connection throughput unit (Mbps or Gbps). // Connection throughput unit // +kubebuilder:validation:Required ThroughputUnit *string `json:"throughputUnit" tf:"throughput_unit,omitempty"` @@ -129,7 +157,7 @@ type DeviceLinkStatus struct { // +kubebuilder:object:root=true -// DeviceLink is the Schema for the DeviceLinks API. +// DeviceLink is the Schema for the DeviceLinks API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" diff --git a/apis/network/v1alpha1/zz_sshkey_types.go b/apis/network/v1alpha1/zz_sshkey_types.go index b7bc533..f0d16bd 100755 --- a/apis/network/v1alpha1/zz_sshkey_types.go +++ b/apis/network/v1alpha1/zz_sshkey_types.go @@ -28,16 +28,20 @@ import ( type SSHKeyObservation_2 struct { ID *string `json:"id,omitempty" tf:"id,omitempty"` + // The unique identifier of the key // The unique identifier of the key UUID *string `json:"uuid,omitempty" tf:"uuid,omitempty"` } type SSHKeyParameters_2 struct { + // The name of SSH key used for identification. // The name of SSH key used for identification // +kubebuilder:validation:Required Name *string `json:"name" tf:"name,omitempty"` + // The SSH public key. If this is a file, it can be read using the file + // interpolation function. // The SSH public key. If this is a file, it can be read using the file interpolation function // +kubebuilder:validation:Required PublicKey *string `json:"publicKey" tf:"public_key,omitempty"` @@ -57,7 +61,7 @@ type SSHKeyStatus struct { // +kubebuilder:object:root=true -// SSHKey is the Schema for the SSHKeys API. +// SSHKey is the Schema for the SSHKeys API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" diff --git a/apis/network/v1alpha1/zz_sshuser_types.go b/apis/network/v1alpha1/zz_sshuser_types.go index 58bfec4..df8608d 100755 --- a/apis/network/v1alpha1/zz_sshuser_types.go +++ b/apis/network/v1alpha1/zz_sshuser_types.go @@ -28,20 +28,24 @@ import ( type SSHUserObservation struct { ID *string `json:"id,omitempty" tf:"id,omitempty"` + // SSH user unique identifier. // SSH user unique identifier UUID *string `json:"uuid,omitempty" tf:"uuid,omitempty"` } type SSHUserParameters struct { + // list of device identifiers to which user will have access. // list of device identifiers to which user will have access // +kubebuilder:validation:Required DeviceIds []*string `json:"deviceIds" tf:"device_ids,omitempty"` + // SSH user password. // SSH user password // +kubebuilder:validation:Required PasswordSecretRef v1.SecretKeySelector `json:"passwordSecretRef" tf:"-"` + // SSH user login name. // SSH user login name // +kubebuilder:validation:Required Username *string `json:"username" tf:"username,omitempty"` @@ -61,7 +65,7 @@ type SSHUserStatus struct { // +kubebuilder:object:root=true -// SSHUser is the Schema for the SSHUsers API. +// SSHUser is the Schema for the SSHUsers API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" diff --git a/config/provider-metadata.yaml b/config/provider-metadata.yaml index 5ef2c1c..266c60c 100644 --- a/config/provider-metadata.yaml +++ b/config/provider-metadata.yaml @@ -1,2 +1,1770 @@ name: equinix/equinix -resources: {} +resources: + "": + subCategory: Metal + name: "" + title: "" + argumentDocs: + bond_id: '- UUID of the bond port.' + bond_name: '- Name of the bond port.' + bonded: '- (Required) Whether the port should be bonded.' + disbond_supported: '- Flag indicating whether the port can be removed from a bond.' + layer2: '- (Optional) Whether to put the port to Layer 2 mode, valid only for bond ports.' + mac: '- MAC address of the port.' + name: '- Name of the port, e.g. bond0 or eth0.' + native_vlan_id: |- + - (Optional) UUID of a VLAN to assign as a native VLAN. It must be one of + attached VLANs (from vlan_ids parameter). + network_type: |- + - One of layer2-bonded, layer2-individual, layer3, hybrid and hybrid-bonded. This + attribute is only set on bond ports. + port_id: '- (Required) ID of the port to read.' + reset_on_delete: '- (Optional) Behavioral setting to reset the port to default settings (layer3 bonded mode without any vlan attached) before delete/destroy.' + type: '- Type is either "NetworkBondPort" for bond ports or "NetworkPort" for bondable ethernet ports.' + vlan_ids: |- + - (Optional) List of VLAN UUIDs to attach to the port, valid only for L2 and Hybrid + ports. + vxlan_ids: |- + - (Optional) List of VXLAN IDs to attach to the port, valid only for L2 and Hybrid + ports. + importStatements: [] + equinix_ecx_l2_connection: + subCategory: Fabric + name: equinix_ecx_l2_connection + title: "" + examples: + - name: port-2-aws + manifest: |- + { + "authorization_key": "345742915919", + "name": "tf-aws", + "notifications": [ + "marry@equinix.com", + "john@equinix.com" + ], + "port_uuid": "${data.equinix_ecx_port.sv-qinq-pri.id}", + "profile_uuid": "${data.equinix_ecx_l2_sellerprofile.aws.id}", + "seller_metro_code": "SV", + "seller_region": "us-west-1", + "speed": 200, + "speed_unit": "MB", + "vlan_ctag": 1000, + "vlan_stag": 777 + } + references: + port_uuid: data.equinix_ecx_port.sv-qinq-pri.id + profile_uuid: data.equinix_ecx_l2_sellerprofile.aws.id + - name: ports-2-azure + manifest: |- + { + "authorization_key": "c4dff8e8-b52f-4b34-b0d4-c4588f7338f3", + "name": "tf-azure-pri", + "named_tag": "PRIVATE", + "notifications": [ + "john@equinix.com", + "marry@equinix.com" + ], + "port_uuid": "${data.equinix_ecx_port.sv-qinq-pri.id}", + "profile_uuid": "${data.equinix_ecx_l2_sellerprofile.azure.id}", + "seller_metro_code": "SV", + "speed": 50, + "speed_unit": "MB", + "vlan_ctag": 2512, + "vlan_stag": 1482 + } + references: + port_uuid: data.equinix_ecx_port.sv-qinq-pri.id + profile_uuid: data.equinix_ecx_l2_sellerprofile.azure.id + - name: router-to-gcp + manifest: |- + { + "authorization_key": "4d335adc-00fd-4a41-c9f3-782ca31ab3f7/us-west1/1", + "device_interface_id": 5, + "device_uuid": "${equinix_network_device.myrouter.id}", + "name": "tf-gcp-pri", + "notifications": [ + "john@equinix.com", + "marry@equinix.com" + ], + "profile_uuid": "${data.equinix_ecx_l2_sellerprofile.gcp-1.id}", + "seller_metro_code": "SV", + "seller_region": "us-west1", + "speed": 100, + "speed_unit": "MB" + } + references: + device_uuid: equinix_network_device.myrouter.id + profile_uuid: data.equinix_ecx_l2_sellerprofile.gcp-1.id + - name: token-to-gcp + manifest: |- + { + "authorization_key": "4d335adc-00fd-4a41-c9f3-782ca31ab3f7/us-west1/1", + "name": "tf-gcp-pri", + "notifications": [ + "john@equinix.com", + "marry@equinix.com" + ], + "profile_uuid": "${data.equinix_ecx_l2_sellerprofile.gcp-1.id}", + "seller_metro_code": "SV", + "seller_region": "us-west1", + "service_token": "e9c22453-d3a7-4d5d-9112-d50173531392", + "speed": 100, + "speed_unit": "MB" + } + references: + profile_uuid: data.equinix_ecx_l2_sellerprofile.gcp-1.id + - name: port-to-token + manifest: |- + { + "name": "tf-port-token", + "notifications": [ + "john@equinix.com", + "marry@equinix.com" + ], + "port_uuid": "${data.equinix_ecx_port.sv-qinq-pri.id}", + "seller_metro_code": "FR", + "speed": 200, + "speed_unit": "MB", + "vlan_stag": 1000, + "zside_service_token": "e9c22453-d3a7-4d5d-9112-d50173531392" + } + references: + port_uuid: data.equinix_ecx_port.sv-qinq-pri.id + argumentDocs: + actions: '- One or more pending actions to complete connection provisioning.' + additional_info: '- (Optional) one or more additional information key-value objects' + authorization_key: |- + - (Optional) Unique identifier authorizing Equinix to provision a connection + towards a cloud service provider. At Equinix, an Authorization Key is a generic term and is NOT + encrypted on Equinix Fabric. Cloud Service Providers might use a different name to refer to this + key such as Service Key or Authentication Key. Value depends on a provider service profile, + more information on Equinix Fabric how to guide. + device_interface_id: |- + - (Optional) Applicable with device_uuid, identifier of network interface + on a given device, used for a connection. If not specified then first available interface will be + selected. + device_uuid: |- + - (Required when port_uuid or service_token are not set) Unique identifier of + the Network Edge virtual device from which the connection would originate. + name: |- + - (Required) Connection name. An alpha-numeric 24 characters string which can include only + hyphens and underscores + named_tag: |- + - (Optional) The type of peering to set up when connecting to Azure Express Route. + Valid values: PRIVATE, MICROSOFT, MANUAL*, PUBLIC*. + notifications: |- + - (Required) A list of email addresses used for sending connection update + notifications. + port_uuid: |- + - (Required when device_uuid or service_token are not set) Unique identifier of + the Equinix Fabric Port from which the connection would originate. + profile_uuid: '- (Required) Unique identifier of the service provider''s profile.' + provider_status: '- Connection provisioning status on service provider''s side.' + purchase_order_number: '- (Optional) Connection''s purchase order number to reflect on the invoice' + redundancy_group: '- Unique identifier of group containing a primary and secondary connection.' + redundancy_type: |- + - Connection redundancy type, applicable for HA connections. Valid values are + PRIMARY, SECONDARY. + redundant_uuid: '- Unique identifier of the redundant connection, applicable for HA connections.' + secondary_connection: |- + - (Optional) Definition of secondary connection for redundant, HA + connectivity. See Secondary Connection below for more details. + secondary_connection.authorization_key: |- + - (Optional) Unique identifier authorizing Equinix to provision a connection + towards a cloud service provider. If not specified primary authorization_key will be used. However, + some service providers may require different keys for each connection. More information on + Equinix Fabric how to guide. + secondary_connection.device_interface_id: |- + - (Optional) Applicable with device_uuid, identifier of network interface + on a given device. If not specified then first available interface will be selected. + secondary_connection.device_uuid: |- + - (Optional) Applicable with primary device_uuid. Identifier of the Network Edge + virtual device from which the secondary connection would originate. If not specified primary + device_uuid will be used. + secondary_connection.name: '- (Required) secondary connection name' + secondary_connection.port_uuid: |- + - (Optional) Applicable with primary port_uuid. Identifier of the Equinix Fabric Port from + which the secondary connection would originate. If not specified primary port_uuid will be used. + secondary_connection.seller_metro_code: |- + - (Optional) The metro code that denotes the secondary connection’s + destination (Z side). . + secondary_connection.seller_region: |- + - (Optional) The region in which the seller port resides. If not specified + primary seller_region will be used. + secondary_connection.service_token: |- + - (Optional) Required with primary service_token. Unique Equinix Fabric key + given by a provider that grants you authorization to enable connectivity from an Equinix Fabric Port or + virtual device. Each connection (primary and secondary) requires a separate token. + More details in Fabric Service Tokens. + secondary_connection.speed: |- + - (Optional) Speed/Bandwidth to be allocated to the secondary connection. If not + specified primary speed will be used. + secondary_connection.speed_unit: |- + - (Optional) Unit of the speed/bandwidth to be allocated to the secondary + connection. If not specified primary speed_unit will be used. + secondary_connection.vlan_ctag: |- + - (Optional) Applicable with port_uuid. C-Tag/Inner-Tag of the secondary + connection, a numeric character ranging from 2 - 4094. + secondary_connection.vlan_stag: |- + - (Required when port_uuid is set) S-Tag/Outer-Tag of the secondary connection, a + numeric character ranging from 2 - 4094. + seller_metro_code: |- + - (Optional) The metro code that denotes the connection’s remote/destination + side (z-side). + seller_region: '- (Optional) The region in which the seller port resides.' + service_token: |- + - (Required when port_uuid or device_uuid are not set) - A-side + service tokens authorize you to create a connection from a customer port, which created the token + for you, to a service profile or your own port. + More details in A-Side Fabric Service Tokens. + speed: '- (Required) Speed/Bandwidth to be allocated to the connection.' + speed_unit: '- (Required) Unit of the speed/bandwidth to be allocated to the connection.' + status: '- Connection provisioning status on Equinix Fabric side.' + uuid: '- Unique identifier of the connection.' + value: '- (Required) additional information value' + vendor_token: |- + - The Equinix Fabric Token the connection was created with. Applicable if the + connection was created with a service_token (a-side) or zside_service_token (z-side). + vlan_ctag: |- + - (Optional) C-Tag/Inner-Tag of the connection - a numeric character ranging from 2 + - 4094. + vlan_stag: |- + - (Required when port_uuid is set) S-Tag/Outer-Tag of the connection - a numeric + character ranging from 2 - 4094. + zside_port_uuid: |- + - (Optional) Unique identifier of the port on the remote/destination side + (z-side). Allows you to connect between your own ports or virtual devices across your company's + Equinix Fabric deployment, with no need for a private service profile. + zside_service_token: |- + - (Required when profile_uuid or zside_port_uuid are not set) - Z-side + service tokens authorize you to create a connection from your port or virtual device to a customer + port which created the token for you. zside_service_token cannot be used with secondary_connection. + More details in Z-Side Fabric Service Tokens. + zside_vlan_ctag: |- + - (Optional) C-Tag/Inner-Tag of the connection on the remote/destination + side (z-side) - a numeric character ranging from 2 - 4094. + secondary_connection is defined it will internally use same zside_vlan_ctag for the secondary + connection. + zside_vlan_stag: |- + - (Optional) S-Tag/Outer-Tag of the connection on the remote/destination + side (z-side) - a numeric character ranging from 2 - 4094. + importStatements: [] + equinix_ecx_l2_connection_accepter: + subCategory: Fabric + name: equinix_ecx_l2_connection_accepter + title: "" + examples: + - name: accepter + manifest: |- + { + "connection_id": "${equinix_ecx_l2_connection.awsConn.id}" + } + references: + connection_id: equinix_ecx_l2_connection.awsConn.id + argumentDocs: + AWS: (AWS Direct Connect) + AWS_ACCESS_KEY_ID: |- + and AWS_SECRET_ACCESS_KEY + environmental variables + access_key: and secret_key resource arguments + aws_connection_id: |- + - Identifier of a hosted Direct Connect connection on AWS side, + applicable for accepter resource with connections to AWS only. + aws_profile: argument or AWS_PROFILE environmental variable + connection_id: '- (Required) Identifier of Layer 2 connection that will be accepted.' + secret_key: '- (Optional) Secret Key used to accept connection on provider side.' + importStatements: [] + equinix_ecx_l2_serviceprofile: + subCategory: Fabric + name: equinix_ecx_l2_serviceprofile + title: "" + examples: + - name: private-profile + manifest: |- + { + "bandwidth_threshold_notifications": [ + "John.Doe@example.com", + "Marry.Doe@example.com" + ], + "connection_name_label": "Connection", + "description": "my private profile", + "features": [ + { + "allow_remote_connections": true, + "test_profile": false + } + ], + "name": "private-profile", + "port": [ + { + "metro_code": "NY", + "uuid": "a867f685-422f-22f7-6de0-320a5c00abdd" + }, + { + "metro_code": "NY", + "uuid": "a867f685-4231-2317-6de0-320a5c00abdd" + } + ], + "private": true, + "private_user_emails": [ + "John.Doe@example.com", + "Marry.Doe@example.com" + ], + "profile_statuschange_notifications": [ + "John.Doe@example.com", + "Marry.Doe@example.com" + ], + "speed_band": [ + { + "speed": 1000, + "speed_unit": "MB" + }, + { + "speed": 500, + "speed_unit": "MB" + }, + { + "speed": 100, + "speed_unit": "MB" + } + ], + "vc_statuschange_notifications": [ + "John.Doe@example.com", + "Marry.Doe@example.com" + ] + } + argumentDocs: + BOTH: '- When both, application tag or seller side VLAN C-Tag can be provided.' + CTAGED: '- When seller side VLAN C-Tag has to be provided (Default).' + NAMED: '- When application named tag has to be provided.' + api_integration: |- + - (Optional) Boolean value that determines if API integration is enabled. It + allows you to complete connection provisioning in less than five minutes. Without API Integration, + additional manual steps will be required and the provisioning will likely take longer. + authkey_label: |- + - (Optional) Name of the authentication key label to be used by the + Authentication Key service. It allows Service Providers with QinQ ports to accept groups of + connections or VLANs from Dot1q customers. This is similar to S-Tag/C-Tag capabilities. + bandwidth_alert_threshold: |- + - (Optional) Specifies the port bandwidth threshold percentage. If + the bandwidth limit is met or exceeded, an alert is sent to the seller. + bandwidth_threshold_notifications: |- + - (Optional) A list of email addresses that will receive + notifications about bandwidth thresholds. + connection_name_label: |- + - (Optional) Custom name used for calling a connections + e.g. circuit. Defaults to Connection. + ctag_label: '- (Optional) C-Tag/Inner-Tag label name for the connections.' + description: '- (Optional) Description of the service profile.' + equinix_managed_port_vlan: |- + - (Optional) Applicable when api_integration is set to true. It + indicates whether the port and VLAN details are managed by Equinix. + features: |- + - (Required) Block of profile features configuration. See Features below + for more details. + features.allow_remote_connections: |- + - (Required) Indicates whether or not connections to this profile + can be created from remote metro locations. + features.test_profile: |- + - (Deprecated) Indicates whether or not this profile can be used for test + connections. + integration_id: |- + - (Optional) Specifies the API integration ID that was provided to the customer + during onboarding. You can validate your API integration ID using the validateIntegrationId API. + name: |- + - (Required) Name of the service profile. An alpha-numeric 50 characters string which can + include only hyphens and underscores. + oversubscription: |- + - (Optional) You can set an alert for when a percentage of your profile has + been sold. Service providers like to use this functionality to alert them when they need to add + more ports or when they need to create a new service profile. Required with + oversubscription_allowed, defaults to 1x. + oversubscription_allowed: |- + - (Optional) Boolean value that determines if, regardless of the + utilization, Equinix Fabric will continue to add connections to your links until we reach the + oversubscription limit. By selecting this service, you acknowledge that you will manage decisions + on when to increase capacity on these link. + port: |- + - (Required) One or more definitions of ports residing in locations, from which your + customers will be able to access services using this service profile. See Port below for + more details. + port.metro_code: '- (Required) The metro code of location where the port resides.' + port.uuid: '- (Required) Unique identifier of the port.' + private: |- + - (Optional) Boolean value that indicates whether or not this is a private profile, + i.e. not public like AWS/Azure/Oracle/Google, etc. If private, it can only be available for + creating connections if correct permissions are granted. + private_user_emails: |- + - (Optional) An array of users email ids who have permission to access this + service profile. Argument is required when profile is set as private. + profile_statuschange_notifications: |- + - (Required) A list of email addresses that will receive + notifications about profile status changes. + redundancy_required: |- + - (Optional) Boolean value that determines if your connections will require + redundancy. if yes, then users need to create a secondary redundant connection. + secondary_vlan_from_primary: |- + - (Optional) Indicates whether the VLAN ID of. the secondary + connection is the same as the primary connection. + servicekey_autogenerated: |- + - (Optional) Boolean value that indicates whether multiple connections + can be created with the same authorization key to connect to this service profile after the first + connection has been approved by the seller. + speed_band: |- + - (Optional) One or more definitions of supported speed/bandwidth. Argument is + required when speed_from_api is set to false. See Speed Band below for more + details. + speed_band.speed: '- (Required) Speed/bandwidth supported by this service profile.' + speed_band.speed_unit: |- + - (Required) Unit of the speed/bandwidth supported by this service profile. One of + MB, GB. + speed_customization_allowed: |- + - (Optional) Boolean value that determines if customer is allowed + to enter a custom connection speed. + speed_from_api: |- + - (Optional) Boolean valuta that determines if connection speed will be derived + from an API call. Argument has to be specified when api_integration is enabled. + state: '- Service profile provisioning status.' + tag_type: |- + - (Optional) Specifies additional tagging information required by the seller profile + for Dot1Q to QinQ translation. See Enhance Dot1q to QinQ translation support + for additional information. Valid values are: + uuid: '- Unique identifier of the service profile.' + vc_statuschange_notifications: |- + - (Required) A list of email addresses that will receive + notifications about connections approvals and rejections. + importStatements: [] + equinix_fabric_connection Resource - terraform-provider-equinix: + subCategory: Fabric + description: Fabric V4 API compatible resource allows creation and management of Equinix Fabric connection ~> Note Equinix Fabric v4 resources and datasources are currently in Beta. The interfaces related to equinix_fabric_ resources and datasources may change ahead of general availability. Please, do not hesitate to report any problems that you experience by opening a new issue https://github.com/equinix/terraform-provider-equinix/issues/new?template=bug.md + name: equinix_fabric_connection Resource - terraform-provider-equinix + title: equinix_fabric_connection Resource - terraform-provider-equinix + argumentDocs: + a_side: '(Block Set, Min: 1) Requester or Customer side connection configuration object of the multi-segment connection (see below for nested schema)' + access_point: (Block Set) Point of access details (see below for nested schema) + access_point_type_configs: (List of Object) Access point config information (see below for nested schema) + account: (Set of Object) Customer account information that is associated with this connection (see below for nested schema) + account_name: (String) + account_number: (Number) + additional_info: (Block List) Connection additional information (see below for nested schema) + authentication_key: (String) Authentication key for provider based connections + bandwidth: (Number) Connection bandwidth in Mbps + billing_tier: (String) Billing tier for connection bandwidth + change_log: (Set of Object) Captures connection lifecycle change information (see below for nested schema) + correlation_id: (String) + create: (String) + created_by: (String) + created_by_email: (String) + created_by_full_name: (String) + created_date_time: (String) + delete: (String) + deleted_by: (String) + deleted_by_email: (String) + deleted_by_full_name: (String) + deleted_date_time: (String) + description: (String) User-provided service description + details: (String) + direction: (String) Connection directionality from the requester point of view + emails: (List of String) Array of contact emails + equinix_status: (String) + error_code: (String) + error_message: (String) + errors: (List of Object) (see below for nested schema) + gateway: (Block Set) Gateway access point information (see below for nested schema) + global_cust_id: (String) + global_org_id: (String) + global_organization_name: (String) + group: (String) Redundancy group identifier + help: (String) + href: (String) Connection URI information + ibx: (String) IBX Code + id: (String) The ID of this resource. + interface: (Block Set) Virtual device interface (see below for nested schema) + is_remote: (Boolean) Connection property derived from access point locations + key: (String) Additional information key + link_protocol: (Block Set) Connection link protocol (see below for nested schema) + location: (Block Set) Access point location (see below for nested schema) + metro_code: (String) Access point metro code + metro_name: (String) Access point metro name + name: (String) Connection name. An alpha-numeric 24 characters string which can include only hyphens and underscores + notifications: '(Block List, Min: 1) Preferences for notifications on connection configuration or status changes (see below for nested schema)' + operation: (Set of Object) Connection type-specific operational data (see below for nested schema) + order: (Block Set) Order related to this connection information (see below for nested schema) + order_id: (String) Order Identification + order_number: (String) Order Reference Number + org_id: (Number) + organization_name: (String) + peering_type: (String) Peering Type- PRIVATE,MICROSOFT,PUBLIC, MANUAL + port: (Block Set) Port access point information (see below for nested schema) + priority: (String) + profile: (Block Set) Service Profile (see below for nested schema) + project: (Block Set) Project information (see below for nested schema) + project_id: (String) Project Id + property: (String) + provider_connection_id: (String) Provider assigned Connection Id + provider_status: (String) + purchase_order_number: (String) Purchase order number + read: (String) + reason: (String) + redundancy: (Block Set) Redundancy Information (see below for nested schema) + region: (String) Access point region + routing_protocols: (Block List) Access point routing protocols configuration (see below for nested schema) + seller_region: (String) Access point seller region + send_interval: (String) Send interval + service_token: (Block Set) 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) + state: (String) Connection overall state + timeouts: (Block, Optional) (see below for nested schema) + type: (String) Defines the connection type like VG_VC, EVPL_VC, EPL_VC, EC_VC, GW_VC, ACCESS_EPL_VC + update: (String) + updated_by: (String) + updated_by_email: (String) + updated_by_full_name: (String) + updated_date_time: (String) + uuid: (String) Equinix-assigned virtual gateway identifier + value: (String) Additional information value + virtual_device: (Block Set) Virtual device (see below for nested schema) + vlan_c_tag: (Number) Vlan Customer Tag information, vlanCTag value specified for QINQ connections + vlan_s_tag: (Number) Vlan Provider Tag information, vlanSTag value specified for QINQ connections + vlan_tag: (Number) Vlan Tag information, vlanTag value specified for DOT1Q connections + z_side: '(Block Set, Min: 1) Destination or Provider side connection configuration object of the multi-segment connection (see below for nested schema)' + importStatements: [] + equinix_fabric_service_profile Resource - terraform-provider-equinix: + subCategory: Fabric + description: Fabric V4 API compatible resource allows creation and management of Equinix Fabric Service Profile ~> Note Equinix Fabric v4 resources and datasources are currently in Beta. The interfaces related to equinix_fabric_ resources and datasources may change ahead of general availability. Please, do not hesitate to report any problems that you experience by opening a new issue https://github.com/equinix/terraform-provider-equinix/issues/new?template=bug.md + name: equinix_fabric_service_profile Resource - terraform-provider-equinix + title: equinix_fabric_service_profile Resource - terraform-provider-equinix + argumentDocs: + access_point_type_configs: (Block List) Access point config information (see below for nested schema) + account: (Block Set) Account (see below for nested schema) + account_name: (String) Account Name + account_number: (Number) Account Number + allow_bandwidth_auto_approval: (Boolean) Setting to enable or disable the ability of the buyer to change connection bandwidth without approval of the seller + allow_bandwidth_upgrade: (Boolean) Availability of a bandwidth upgrade. The default is false + allow_custom_bandwidth: (Boolean) Setting to enable or disable the ability of the buyer to customize the bandwidth + allow_over_subscription: (Boolean) Setting showing that oversubscription support is available (true) or not (false). The default is false + allow_remote_connections: (Boolean) Setting to allow or prohibit remote connections to the service profile + allowed_emails: (List of String) Array of contact emails + api_available: (Boolean) Setting indicating whether the API is available (true) or not (false) + api_config: (Block Set) Api configuration details (see below for nested schema) + authentication_key: (Block Set) Authentication key details (see below for nested schema) + bandwidth_alert_threshold: (Number) Percentage of port bandwidth at which an allocation alert is generated + bandwidth_from_api: (Boolean) Bandwidth from api + capture_in_email: (Boolean) Required field + change_log: (Set of Object) Captures connection lifecycle change information (see below for nested schema) + code: (String) Metro Code - Example SV + connection_label: (String) Custom name for Connection + connection_redundancy_required: (Boolean) Mandate redundant connections + create: (String) + created_by: (String) + created_by_email: (String) + created_by_full_name: (String) + created_date_time: (String) + cross_connect_id: (String) Cross Connect Id + custom_fields: (Block List) Custom Fields (see below for nested schema) + data_type: (String) Data type + delete: (String) + deleted_by: (String) + deleted_by_email: (String) + deleted_by_full_name: (String) + deleted_date_time: (String) + description: (String) User-provided service description + display_name: (String) Display Name + emails: (List of String) Array of contact emails + enable_auto_generate_service_key: (Boolean) Enable auto generate service key + encapsulation: (String) Port Encapsulation + encapsulation_strategy: (String) Encapsulation strategy + equinix_managed_port: (Boolean) Setting indicating that the port is managed by Equinix (true) or not (false) + equinix_managed_vlan: (Boolean) Setting indicating that the VLAN is managed by Equinix (true) or not (false) + global_cust_id: (String) Global Customer organization identifier + global_org_id: (String) Global organization identifier + global_organization_name: (String) Global organization name + href: (String) Service Profile URI response attribute + ibx: (String) IBX Code + ibxs: (List of String) IBX- Equinix International Business Exchange list + id: (String) The ID of this resource. + in_trail: (Boolean) In Trail + integration_id: (String) Integration id + interface_uuid: (String) Device Interface Uuid + label: (String) Label + link_protocol_config: (Block Set) Link protocol configuration details (see below for nested schema) + location: (Block Set) Colo/Port Location (see below for nested schema) + logo: (String) Logo + marketing_info: (Block Set) Marketing Info (see below for nested schema) + metro_code: (String) Access point metro code + metro_name: (String) Access point metro name + metros: (Block List) Access point config information (see below for nested schema) + name: (String) Customer-assigned service profile name + notifications: (Block List) Preferences for notifications on connection configuration or status changes (see below for nested schema) + options: (List of String) Options + org_id: (Number) Customer organization identifier + organization_name: (String) Customer organization name + over_subscription_limit: (Number) A cap on over subscription + ports: (Block List) Ports (see below for nested schema) + process_step: (Block List) Process Step (see below for nested schema) + project: (Block Set) Project information (see below for nested schema) + project_id: (String) Project Id + promotion: (Boolean) Promotion + read: (String) + region: (String) Access point region + required: (Boolean) Required + reuse_vlan_s_tag: (Boolean) Reuse vlan sTag + self_profile: (Boolean) Self Profile + seller_region: (String) Seller Region + seller_region_description: (String) Seller Region details + seller_regions: (Map of String) Seller Regions + send_interval: (String) Send interval + state: (String) Service profile state - ACTIVE, PENDING_APPROVAL, DELETED, REJECTED + sub_title: (String) Sub Title + supported_bandwidths: (List of Number) Supported bandwidths + tags: (List of String) Tags attached to the connection + timeouts: (Block, Optional) (see below for nested schema) + title: (String) Title + type: (String) Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE + ucm_id: (String) Enterprise datastore id + update: (String) + updated_by: (String) + updated_by_email: (String) + updated_by_full_name: (String) + updated_date_time: (String) + uuid: (String) Equinix assigned service profile identifier + virtual_devices: (Block List) Virtual Devices (see below for nested schema) + visibility: (String) Service profile visibility - PUBLIC, PRIVATE + importStatements: [] + equinix_metal_connection: + subCategory: Metal + name: equinix_metal_connection + title: "" + examples: + - name: example + manifest: |- + { + "metro": "sv", + "name": "tf-metal-to-azure", + "project_id": "${local.project_id}", + "redundancy": "redundant", + "service_token_type": "a_side", + "speed": "1000Mbps", + "type": "shared" + } + references: + project_id: local.project_id + dependencies: + equinix_ecx_l2_connection.example: |- + { + "authorization_key": "${azurerm_express_route_circuit.example.service_key}", + "name": "tf-metal-to-azure", + "named_tag": "PRIVATE", + "notifications": [ + "example@equinix.com" + ], + "profile_uuid": "${data.equinix_ecx_l2_sellerprofile.example.uuid}", + "secondary_connection": [ + { + "name": "tf-metal-to-azure-sec", + "service_token": "${equinix_metal_connection.example.service_tokens.1.id}" + } + ], + "seller_metro_code": "AM", + "service_token": "${equinix_metal_connection.example.service_tokens.0.id}", + "speed": "${azurerm_express_route_circuit.example.bandwidth_in_mbps}", + "speed_unit": "MB" + } + - name: example + manifest: |- + { + "metro": "FR", + "name": "tf-port-to-metal", + "project_id": "${local.project_id}", + "redundancy": "primary", + "service_token_type": "z_side", + "speed": "200Mbps", + "type": "shared" + } + references: + project_id: local.project_id + dependencies: + equinix_ecx_l2_connection.example: |- + { + "name": "tf-port-to-metal", + "notifications": [ + "example@equinix.com" + ], + "port_uuid": "${data.equinix_ecx_port.example.id}", + "speed": "200", + "speed_unit": "MB", + "vlan_stag": 1020, + "zside_service_token": "${equinix_metal_connection.example.service_tokens.0.id}" + } + - name: example + manifest: |- + { + "metro": "SV", + "name": "tf-port-to-metal-legacy", + "project_id": "${local.my_project_id}", + "redundancy": "redundant", + "type": "shared" + } + references: + project_id: local.my_project_id + dependencies: + equinix_ecx_l2_connection.example: |- + { + "authorization_key": "${equinix_metal_connection.example.token}", + "name": "tf-port-to-metal-legacy", + "notifications": [ + "example@equinix.com" + ], + "port_uuid": "${data.equinix_ecx_port.example.id}", + "speed": "200", + "speed_unit": "MB", + "vlan_stag": 1020 + } + argumentDocs: + description: '- (Optional) Description for the connection resource.' + facility: '- (Optional) Facility where the connection will be created.' + metro: '- (Optional) Metro where the connection will be created.' + mode: '- (Optional) Mode for connections in IBX facilities with the dedicated type - standard or tunnel. Default is standard.' + name: '- (Required) Name of the connection resource' + organization_id: '- ID of the organization where the connection is scoped to.' + ports: |- + - List of connection ports - primary (ports[0]) and secondary (ports[1]). Schema of + port is described in documentation of the + equinix_metal_connection datasource. + project_id: '- (Optional) ID of the project where the connection is scoped to, must be set for.' + redundancy: '- (Required) Connection redundancy - redundant or primary.' + service_token_type: '- (Optional) Only used with shared connection. Type of service token to use for the connection, a_side or z_side. (NOTE: To support the legacy non-automated way to create connections, terraform will not check if )' + service_tokens: '- List of connection service tokens with attributes required to configure the connection in Equinix Fabric with the equinix_ecx_l2_connection resource or from the Equinix Fabric Portal. Scehma of service_token is described in documentation of the equinix_metal_connection datasource.' + speed: '- (Required) Connection speed - one of 50Mbps, 200Mbps, 500Mbps, 1Gbps, 2Gbps, 5Gbps, 10Gbps.' + status: '- Status of the connection resource.' + tags: '- (Optional) String list of tags.' + token: '- (Deprecated) Fabric Token required to configure the connection in Equinix Fabric with the equinix_ecx_l2_connection resource or from the Equinix Fabric Portal. If your organization already has connection service tokens enabled, use service_tokens instead.' + type: '- (Required) Connection type - dedicated or shared.' + vlans: '- (Optional) Only used with shared connection. Vlans to attach. Pass one vlan for Primary/Single connection and two vlans for Redundant connection.' + importStatements: [] + equinix_metal_device: + subCategory: Metal + name: equinix_metal_device + title: "" + examples: + - name: web1 + manifest: |- + { + "billing_cycle": "hourly", + "hostname": "tf.coreos2", + "metro": "sv", + "operating_system": "ubuntu_20_04", + "plan": "c3.small.x86", + "project_id": "${local.project_id}" + } + references: + project_id: local.project_id + - name: pxe1 + manifest: |- + { + "always_pxe": "false", + "billing_cycle": "hourly", + "hostname": "tf.coreos2-pxe", + "ipxe_script_url": "https://rawgit.com/cloudnativelabs/pxe/master/metal/coreos-stable-metal.ipxe", + "metro": "sv", + "operating_system": "custom_ipxe", + "plan": "c3.small.x86", + "project_id": "${local.project_id}", + "user_data": "${data.ignition_config.example.rendered}" + } + references: + project_id: local.project_id + user_data: data.ignition_config.example.rendered + - name: web1 + manifest: |- + { + "billing_cycle": "hourly", + "facilities": [ + "ny5" + ], + "hostname": "tf.coreos2", + "ip_address": [ + { + "cidr": 30, + "type": "private_ipv4" + } + ], + "operating_system": "ubuntu_20_04", + "plan": "c3.small.x86", + "project_id": "${local.project_id}" + } + references: + project_id: local.project_id + - name: web1 + manifest: |- + { + "billing_cycle": "hourly", + "facilities": [ + "ny5" + ], + "hardware_reservation_id": "next-available", + "hostname": "tftest", + "operating_system": "ubuntu_20_04", + "plan": "c3.small.x86", + "project_id": "${local.project_id}", + "storage": "{\n \"disks\": [\n {\n \"device\": \"/dev/sda\",\n \"wipeTable\": true,\n \"partitions\": [\n {\n \"label\": \"BIOS\",\n \"number\": 1,\n \"size\": \"4096\"\n },\n {\n \"label\": \"SWAP\",\n \"number\": 2,\n \"size\": \"3993600\"\n },\n {\n \"label\": \"ROOT\",\n \"number\": 3,\n \"size\": \"0\"\n }\n ]\n }\n ],\n \"filesystems\": [\n {\n \"mount\": {\n \"device\": \"/dev/sda3\",\n \"format\": \"ext4\",\n \"point\": \"/\",\n \"create\": {\n \"options\": [\n \"-L\",\n \"ROOT\"\n ]\n }\n }\n },\n {\n \"mount\": {\n \"device\": \"/dev/sda2\",\n \"format\": \"swap\",\n \"point\": \"none\",\n \"create\": {\n \"options\": [\n \"-L\",\n \"SWAP\"\n ]\n }\n }\n }\n ]\n}\n" + } + references: + project_id: local.project_id + argumentDocs: + access_private_ipv4: '- The ipv4 private IP assigned to the device.' + access_public_ipv4: '- The ipv4 maintenance IP assigned to the device.' + access_public_ipv6: '- The ipv6 maintenance IP assigned to the device.' + address: '- IPv4 or IPv6 address string.' + always_pxe: |- + - (Optional) If true, a device with OS custom_ipxe will continue to boot via iPXE + on reboots. + billing_cycle: '- (Optional) monthly or hourly' + bonded: '- Whether this port is part of a bond in bonded network setup.' + cidr: '- Bit length of the network mask of the address.' + created: '- The timestamp for when the device was created.' + custom_data: '- (Optional) A string of the desired Custom Data for the device.' + deployed_facility: '- The facility where the device is deployed.' + deployed_hardware_reservation_id: |- + - ID of hardware reservation where this device was deployed. + It is useful when using the next-available hardware reservation. + description: '- (Optional) The device description.' + equinix_metal_device.name.network.0: . + equinix_metal_device.name.network.1: . + equinix_metal_device.name.network.2: . + facilities: |- + - (Optional) List of facility codes with deployment preferences. Equinix Metal API will go + through the list and will deploy your device to first facility with free capacity. List items must + be facility codes or any (a wildcard). To find the facility code, visit + Facilities API docs, set your API auth + token in the top of the page and see JSON from the API response. Conflicts with metro. + family: '- IP version. One of 4, 6.' + force_detach_volumes: |- + - (Optional) Delete device even if it has volumes attached. Only applies + for destroy action. + gateway: '- Address of router.' + hardware_reservation_id: |- + - (Optional) The UUID of the hardware reservation where you want this + device deployed, or next-available if you want to pick your next available reservation + automatically. Changing this from a reservation UUID to next-available will re-create the device + in another reservation. Please be careful when using hardware reservation UUID and next-available + together for the same pool of reservations. It might happen that the reservation which Equinix + Metal API will pick as next-available is the reservation which you refer with UUID in another + equinix_metal_device resource. If that happens, and the equinix_metal_device with the UUID is + created later, resource creation will fail because the reservation is already in use (by the + resource created with next-available). To workaround this, have the next-available resource + explicitly depend_on + the resource with hardware reservation UUID, so that the latter is created first. For more details, + see issue #176. + hostname: |- + - (Optional) The device hostname used in deployments taking advantage of Layer3 DHCP + or metadata service configuration. + id: '- The ID of the device.' + ip_address: |- + - (Optional) A list of IP address types for the device. See + IP address below for more details. + ip_address.cidr: '- (Optional) CIDR suffix for IP address block to be assigned, i.e. amount of addresses.' + ip_address.reservation_ids: |- + - (Optional) List of UUIDs of IP block reservations + from which the public IPv4 address should be taken. + ip_address.type: '- (Required) One of private_ipv4, public_ipv4, public_ipv6.' + ipxe_script_url: |- + - (Optional) URL pointing to a hosted iPXE script. More information is in the + Custom iPXE doc. + locked: '- Whether the device is locked.' + mac: '- MAC address assigned to the port.' + metro: '- (Optional) Metro area for the new device. Conflicts with facilities.' + name: '- Name of the port (e.g. eth0, or bond0).' + network: |- + - The device's private and public IP (v4 and v6) network details. See + Network Attribute below for more details. + network_type: |- + - (Deprecated) Network type of a device, used in + Layer 2 networking. Since this + attribute is deprecated you should handle Network Type with one of + equinix_metal_port, + equinix_metal_device_network_type resources or + equinix_metal_port datasource. + See network_types guide for more info. + operating_system: |- + - (Required) The operating system slug. To find the slug, or visit + Operating Systems API docs, set your + API auth token in the top of the page and see JSON from the API response. + plan: |- + - (Required) The device plan slug. To find the plan slug, visit + Device plans API docs, set your auth token in the + top of the page and see JSON from the API response. + ports: |- + - List of ports assigned to the device. See Ports Attribute below for + more details. + project_id: '- (Required) The ID of the project in which to create the device' + project_ssh_key_ids: |- + - (Optional) Array of IDs of the project SSH keys which should be added to the device. + If you omit this, SSH keys of all the members of the parent project will be added to the device. If + you specify this array, only the listed project SSH keys will be added. Project SSH keys can be + created with the equinix_metal_project_ssh_key resource. + public: '- Whether the address is routable from the Internet.' + reinstall: |- + - (Optional) Whether the device should be reinstalled instead of destroyed when + modifying user_data, custom_data, or operating system. See Reinstall below for more + details. + reinstall.deprovision_fast: |- + - (Optional) Whether the OS disk should be filled with 00h bytes before reinstall. + Defaults to false. + reinstall.enabled: |- + - (Optional) Whether the provider should favour reinstall over destroy and create. Defaults to + false. + reinstall.preserve_data: |- + - (Optional) Whether the non-OS disks should be kept or wiped during reinstall. + Defaults to false. + root_password: '- Root password to the server (disabled after 24 hours).' + ssh_key_ids: '- List of IDs of SSH keys deployed in the device, can be both user and project SSH keys.' + state: '- The status of the device.' + storage: |- + - (Optional) JSON for custom partitioning. Only usable on reserved hardware. More + information in in the + Custom Partitioning and RAID + doc. Please note that the disks.partitions.size attribute must be a string, not an integer. It can + be a number string, or size notation string, e.g. "4G" or "8M" (for gigabytes and megabytes). + tags: '- (Optional) Tags attached to the device.' + termination_time: |- + - (Optional) Timestamp for device termination. For example 2021-09-03T16:32:00+03:00. + If you don't supply timezone info, timestamp is assumed to be in UTC. + timeouts.create: '- (Defaults to 20 mins) Used when creating the Device. This includes the time to provision the OS.' + timeouts.delete: '- (Defaults to 20 mins) Used when deleting the Device. This includes the time to deprovision a hardware reservation when wait_for_reservation_deprovision is enabled.' + timeouts.update: '- (Defaults to 20 mins) Used when updating the Device. This includes the time needed to reprovision instances when reinstall arguments are used.' + type: '- Type of the port (e.g. NetworkPort or NetworkBondPort).' + updated: '- The timestamp for the last time the device was updated.' + user_data: '- (Optional) A string of the desired User Data for the device.' + user_ssh_key_ids: '- (Optional) Array of IDs of the user SSH keys which should be added to the device. If you omit this, SSH keys of all the members of the parent project will be added to the device. If you specify this array, only the listed user SSH keys (and any project_ssh_key_ids) will be added. User SSH keys can be created with the equinix_metal_ssh_key resource' + wait_for_reservation_deprovision: |- + - (Optional) Only used for devices in reserved hardware. If + set, the deletion of this device will block until the hardware reservation is marked provisionable + (about 4 minutes in August 2019). + importStatements: [] + equinix_metal_organization: + subCategory: Metal + name: equinix_metal_organization + title: "" + examples: + - name: tf_organization_1 + manifest: |- + { + "description": "quux", + "name": "foobar" + } + argumentDocs: + address: |- + - (Required) An object that has the address information. See Address + below for more details. + address.address: '- (Required) Postal address.' + address.city: '- (Required) City name.' + address.country: '- (Required) Two letter country code (ISO 3166-1 alpha-2), e.g. US.' + address.state: '- (Optional) State name.' + address.zip_code: '- (Required) Zip Code.' + created: '- The timestamp for when the organization was created.' + description: '- (Optional) Description string.' + id: '- The unique ID of the organization.' + logo: '- (Optional) Logo URL.' + name: '- (Required) The name of the Organization.' + twitter: '- (Optional) Twitter handle.' + updated: '- The timestamp for the last time the organization was updated.' + website: '- (Optional) Website link.' + importStatements: [] + equinix_metal_organization_member: + subCategory: Metal + name: equinix_metal_organization_member + title: "" + examples: + - name: member + manifest: |- + { + "invitee": "member@example.com", + "organization_id": "${var.organization_id}", + "projects_ids": [ + "${var.project_id}" + ], + "roles": [ + "limited_collaborator" + ] + } + references: + organization_id: var.organization_id + - name: owner + manifest: |- + { + "invitee": "admin@example.com", + "organization_id": "${var.organization_id}", + "projects_ids": [], + "roles": [ + "owner" + ] + } + references: + organization_id: var.organization_id + argumentDocs: + created: '- When the invitation was created (only known in the invitation stage)' + id: '- The unique ID of the membership.' + invited_by: '- The user_id of the user that sent the invitation (only known in the invitation stage)' + invitee: '- (Required) The email address of the user to invite' + message: '- A message to include in the emailed invitation.' + nonce: '- The nonce for the invitation (only known in the invitation stage)' + organization_id: '- (Required) The organization to invite the user to' + projects_ids: '- (Required) Project IDs the member has access to within the organization. If the member is an ''admin'', the projects list should be empty.' + roles: '- (Required) Organization roles (admin, collaborator, limited_collaborator, billing)' + state: '- The state of the membership (''invited'' when an invitation is open, ''active'' when the user is an organization member)' + updated: '- When the invitation was updated (only known in the invitation stage)' + importStatements: [] + equinix_metal_project: + subCategory: Metal + name: equinix_metal_project + title: "" + examples: + - name: example + manifest: |- + { + "name": "example" + } + dependencies: + equinix_metal_vrf.example: |- + { + "description": "VRF with ASN 65000 and a pool of address space that includes 192.168.100.0/25", + "ip_ranges": [ + "192.168.100.0/25", + "192.168.200.0/25" + ], + "local_asn": "65000", + "metro": "da", + "name": "example-vrf", + "project_id": "${equinix_metal_project.example.id}" + } + argumentDocs: + description: '- (Optional) Description of the VRF.' + ip_ranges: '- (Optional) All IPv4 and IPv6 Ranges that will be available to BGP Peers. IPv4 addresses must be /8 or smaller with a minimum size of /29. IPv6 must be /56 or smaller with a minimum size of /64. Ranges must not overlap other ranges within the VRF.' + local_asn: '- (Optional) The 4-byte ASN set on the VRF.' + metro: '- (Required) Metro ID or Code where the VRF will be deployed.' + name: '- (Required) User-supplied name of the VRF, unique to the project' + project_id: '- (Required) Project ID where the VRF will be deployed.' + importStatements: [] + equinix_metal_project_api_key: + subCategory: Metal + name: equinix_metal_project_api_key + title: "" + examples: + - name: test + manifest: |- + { + "description": "Read-only key scoped to a projct", + "project_id": "${local.existing_project_id}", + "read_only": true + } + references: + project_id: local.existing_project_id + argumentDocs: + description: '- (Required) Description string for the Project API Key resource.' + project_id: '- (Required) UUID of the project where the API key is scoped to.' + read-only: '- (Optional) Flag indicating whether the API key shoud be read-only.' + token: '- API token which can be used in Equinix Metal API clients' + importStatements: [] + equinix_metal_project_ssh_key: + subCategory: Metal + name: equinix_metal_project_ssh_key + title: "" + examples: + - name: test + manifest: |- + { + "name": "test", + "project_id": "${local.project_id}", + "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDM/unxJeFqxsTJcu6mhqsMHSaVlpu+Jj/P+44zrm6X/MAoHSX3X9oLgujEjjZ74yLfdfe0bJrbL2YgJzNaEkIQQ1VPMHB5EhTKUBGnzlPP0hHTnxsjAm9qDHgUPgvgFDQSAMzdJRJ0Cexo16Ph9VxCoLh3dxiE7s2gaM2FdVg7P8aSxKypsxAhYV3D0AwqzoOyT6WWhBoQ0xZ85XevOTnJCpImSemEGs6nVGEsWcEc1d1YvdxFjAK4SdsKUMkj4Dsy/leKsdi/DEAf356vbMT1UHsXXvy5TlHu/Pa6qF53v32Enz+nhKy7/8W2Yt2yWx8HnQcT2rug9lvCXagJO6oauqRTO77C4QZn13ZLMZgLT66S/tNh2EX0gi6vmIs5dth8uF+K6nxIyKJXbcA4ASg7F1OJrHKFZdTc5v1cPeq6PcbqGgc+8SrPYQmzvQqLoMBuxyos2hUkYOmw3aeWJj9nFa8Wu5WaN89mUeOqSkU4S5cgUzWUOmKey56B/j/s1sVys9rMhZapVs0wL4L9GBBM48N5jAQZnnpo85A8KsZq5ME22bTLqnxsDXqDYZvS7PSI6Dxi7eleOFE/NYYDkrgDLHTQri8ucDMVeVWHgoMY2bPXdn7KKy5jW5jKsf8EPARXg77A4gRYmgKrcwIKqJEUPqyxJBe0CPoGTqgXPRsUiQ== tomk@hp2" + } + references: + project_id: local.project_id + dependencies: + equinix_metal_device.test: |- + { + "billing_cycle": "hourly", + "facilities": [ + "ny5" + ], + "hostname": "test", + "operating_system": "ubuntu_20_04", + "plan": "c3.medium.x86", + "project_id": "${local.project_id}", + "project_ssh_key_ids": [ + "${equinix_metal_project_ssh_key.test.id}" + ] + } + argumentDocs: + created: '- The timestamp for when the SSH key was created.' + fingerprint: '- The fingerprint of the SSH key.' + id: '- The unique ID of the key.' + name: '- (Required) The name of the SSH key for identification.' + owner_id: '- The ID of parent project (same as project_id).' + project_id: '- (Required) The ID of parent project.' + public_key: '- (Required) The public key. If this is a file, it can be read using the file interpolation function.' + updated: '- The timestamp for the last time the SSH key was updated.' + importStatements: [] + equinix_metal_reserved_ip_block: + subCategory: Metal + name: equinix_metal_reserved_ip_block + title: "" + examples: + - name: two_elastic_addresses + manifest: |- + { + "facility": "sv15", + "project_id": "${local.project_id}", + "quantity": 2 + } + references: + project_id: local.project_id + - name: test + manifest: |- + { + "metro": "sv", + "project_id": "${local.project_id}", + "quantity": 1, + "type": "public_ipv4" + } + references: + project_id: local.project_id + - name: test + manifest: |- + { + "project_id": "${local.project_id}", + "quantity": 1, + "type": "global_ipv4" + } + references: + project_id: local.project_id + - name: example + manifest: |- + { + "facility": "sv15", + "project_id": "${local.project_id}", + "quantity": 2 + } + references: + project_id: local.project_id + dependencies: + equinix_metal_device.nodes: |- + { + "billing_cycle": "hourly", + "facilities": [ + "sv15" + ], + "hostname": "test", + "ip_address": [ + { + "cidr": 31, + "reservation_ids": [ + "${equinix_metal_reserved_ip_block.example.id}" + ], + "type": "public_ipv4" + }, + { + "type": "private_ipv4" + } + ], + "operating_system": "ubuntu_20_04", + "plan": "c3.small.x86", + "project_id": "${local.project_id}" + } + argumentDocs: + address_family: '- Address family as integer. One of 4 or 6.' + cidr: '- (Optional) Only valid as an argument and required when type is vrf. The size of the network to reserve from an existing VRF ip_range. cidr can only be specified with vrf_id. Range is 22-31. Virtual Circuits require 30-31. Other VRF resources must use a CIDR in the 22-29 range.' + cidr_notation: '- Address and mask in CIDR notation, e.g. 147.229.15.30/31.' + custom_data: '- (Optional) Custom Data is an arbitrary object (submitted in Terraform as serialized JSON) to assign to the IP Reservation. This may be helpful for self-managed IPAM. The object must be valid JSON.' + description: '- (Optional) Arbitrary description.' + facility: |- + - (Optional) Facility where to allocate the public IP address block, makes sense only + if type is public_ipv4 and must be empty if type is global_ipv4. Conflicts with metro. + global: |- + - Boolean flag whether addresses from a block are global (i.e. can be assigned in any + facility). + id: '- The unique ID of the block.' + metro: |- + - (Optional) Metro where to allocate the public IP address block, makes sense only + if type is public_ipv4 and must be empty if type is global_ipv4. Conflicts with facility. + netmask: '- Mask in decimal notation, e.g. 255.255.255.0.' + network: '- (Optional) Only valid as an argument and required when type is vrf. An unreserved network address from an existing ip_range in the specified VRF.' + project_id: '- (Required) The metal project ID where to allocate the address block.' + public: '- Boolean flag whether addresses from a block are public.' + quantity: '- (Optional) The number of allocated /32 addresses, a power of 2. Required when type is not vrf.' + tags: '- (Optional) String list of tags.' + type: |- + - (Optional) One of global_ipv4, public_ipv4, or vrf. Defaults to public_ipv4 for backward + compatibility. + vrf_id: '- (Optional) Only valid and required when type is vrf. VRF ID for type=vrf reservations.' + wait_for_state: '- (Optional) Wait for the IP reservation block to reach a desired state on resource creation. One of: pending, created. The created state is default and recommended if the addresses are needed within the configuration. An error will be returned if a timeout or the denied state is encountered.' + importStatements: [] + equinix_metal_spot_market_request: + subCategory: Metal + name: equinix_metal_spot_market_request + title: "" + examples: + - name: req + manifest: |- + { + "devices_max": 1, + "devices_min": 1, + "facilities": [ + "ny5" + ], + "instance_parameters": [ + { + "billing_cycle": "hourly", + "hostname": "testspot", + "operating_system": "ubuntu_20_04", + "plan": "c3.small.x86" + } + ], + "max_bid_price": 0.03, + "project_id": "${local.project_id}" + } + references: + project_id: local.project_id + argumentDocs: + devices_max: '- (Required) Maximum number devices to be created.' + devices_min: '- (Required) Miniumum number devices to be created.' + facilities: '- (Optional) Facility IDs where devices should be created.' + id: '- The ID of the Spot Market Request.' + instance_parameters: |- + - (Required) Key/Value pairs of parameters for devices provisioned from + this request. Valid keys are: billing_cycle, plan, operating_system, hostname, + termintation_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. + locked: '- (Optional) Blocks deletion of the SpotMarketRequest device until the lock is disabled.' + max_bid_price: '- (Required) Maximum price user is willing to pay per hour per device.' + metro: '- (Optional) Metro where devices should be created.' + project_id: '- (Required) Project ID.' + timeouts.create: |- + - (Defaults to 60 mins) Used when creating the Spot Market Request and wait_for_devices + is set to true. + timeouts.delete: |- + - (Defaults to 60 mins) Used when destroying the Spot Market Request and wait_for_devices + is set to true. + wait_for_devices: |- + - (Optional) On resource creation wait until all desired devices are active. + On resource destruction wait until devices are removed. + importStatements: [] + equinix_metal_ssh_key: + subCategory: Metal + name: equinix_metal_ssh_key + title: "" + examples: + - name: key1 + manifest: |- + { + "name": "terraform-1", + "public_key": "${file(\"/home/terraform/.ssh/id_rsa.pub\")}" + } + dependencies: + equinix_metal_device.test: |- + { + "billing_cycle": "hourly", + "depends_on": [ + "equinix_metal_ssh_key.key1" + ], + "hostname": "test-device", + "metro": "sv", + "operating_system": "ubuntu_20_04", + "plan": "c3.small.x86", + "project_id": "${local.project_id}" + } + argumentDocs: + created: '- The timestamp for when the SSH key was created.' + fingerprint: '- The fingerprint of the SSH key.' + id: '- The unique ID of the key.' + name: '- (Required) The name of the SSH key for identification' + owner_id: '- The UUID of the Equinix Metal API User who owns this key.' + public_key: |- + - (Required) The public key. If this is a file, it + can be read using the file interpolation function + updated: '- The timestamp for the last time the SSH key was updated.' + importStatements: [] + equinix_metal_user_api_key: + subCategory: Metal + name: equinix_metal_user_api_key + title: "" + examples: + - name: test + manifest: |- + { + "description": "Read-only user key", + "read_only": true + } + argumentDocs: + description: '- (Required) Description string for the User API Key resource.' + read-only: '- (Required) Flag indicating whether the API key shoud be read-only.' + token: '- API token which can be used in Equinix Metal API clients.' + user_id: '- UUID of the owner of the API key.' + importStatements: [] + equinix_metal_vlan: + subCategory: Metal + name: equinix_metal_vlan + title: "" + examples: + - name: vlan1 + manifest: |- + { + "description": "VLAN in New Jersey", + "facility": "sv15", + "project_id": "${local.project_id}" + } + references: + project_id: local.project_id + - name: vlan1 + manifest: |- + { + "description": "VLAN in New Jersey", + "metro": "sv", + "project_id": "${local.project_id}", + "vxlan": 1040 + } + references: + project_id: local.project_id + argumentDocs: + description: '- (Optional) Description string.' + facility: '- (Required) Facility where to create the VLAN.' + id: '- ID of the virtual network.' + project_id: '- (Required) ID of parent project.' + vxlan: '- (Optional) VLAN ID, must be unique in metro.' + importStatements: [] + equinix_network_acl_template: + subCategory: Network Edge + name: equinix_network_acl_template + title: "" + examples: + - name: myacl + manifest: |- + { + "description": "Test ACL template", + "inbound_rule": [ + { + "description": "inbound rule description", + "dst_port": "any", + "protocol": "IP", + "src_port": "any", + "subnet": "1.1.1.1/32" + }, + { + "dst_port": "53,1045,2041", + "protocol": "UDP", + "src_port": "any", + "subnet": "172.16.25.0/24" + } + ], + "name": "test" + } + argumentDocs: + description: '- (Optional) ACL template description, up to 200 characters.' + device_acl_status: |- + - Status of ACL template provisioning process, where template was applied. + One of PROVISIONING, PROVISIONED. + device_details: '- List of the devices where the ACL template is applied.' + device_details.acl_status: |- + - Device ACL provisioning status where template was applied. One of PROVISIONING, + PROVISIONED. + device_details.name: '- Device name.' + device_details.uuid: '- Device uuid.' + device_id: '- (Deprecated) Identifier of a network device where template was applied.' + inbound_rule: |- + - (Required) One or more rules to specify allowed inbound traffic. + Rules are ordered, matching traffic rule stops processing subsequent ones. + inbound_rule.description: '- (Optional) Inbound rule description, up to 200 characters.' + inbound_rule.dst_port: |- + - (Required) Inbound traffic destination ports. Allowed values are a comma separated + list of ports, e.g., 20,22,23, port range, e.g., 1023-1040 or word any. + inbound_rule.protocol: '- (Required) Inbound traffic protocol. One of IP, TCP, UDP.' + inbound_rule.src_port: |- + - (Required) Inbound traffic source ports. Allowed values are a comma separated list + of ports, e.g., 20,22,23, port range, e.g., 1023-1040 or word any. + inbound_rule.subnet: '- (Required) Inbound traffic source IP subnet in CIDR format.' + inbound_rule.subnets: '- (Deprecated) Inbound traffic source IP subnets in CIDR format.' + metro_code: '- (Deprecated) ACL template location metro code.' + name: '- (Required) ACL template name.' + uuid: '- Unique identifier of ACL template resource.' + importStatements: [] + equinix_network_bgp: + subCategory: Network Edge + name: equinix_network_bgp + title: "" + examples: + - name: test + manifest: |- + { + "authentication_key": "secret", + "connection_id": "54014acf-9730-4b55-a791-459283d05fb1", + "local_asn": 12345, + "local_ip_address": "10.1.1.1/30", + "remote_asn": 66123, + "remote_ip_address": "10.1.1.2" + } + argumentDocs: + authentication_key: '- (Optional) shared key used for BGP peer authentication.' + connection_id: |- + - (Required) identifier of a connection established between. + network device and remote service provider that will be used for peering. + device_id: |- + - unique identifier of a network device that is a local peer in a given BGP peering + configuration. + local_asn: '- (Required) Local ASN number.' + local_ip_address: '- (Required) IP address in CIDR format of a local device.' + provisioning_status: |- + - BGP peering configuration provisioning status, one of PROVISIONING, + PENDING_UPDATE, PROVISIONED, FAILED. + remote_asn: '- (Required) Remote ASN number.' + remote_ip_address: '- (Required) IP address of remote peer.' + state: |- + - BGP peer state, one of Idle, Connect, Active, OpenSent, OpenConfirm, + Established. + uuid: '- BGP peering configuration unique identifier.' + importStatements: [] + equinix_network_device: + subCategory: Network Edge + name: equinix_network_device + title: "" + examples: + - name: csr1000v-ha + manifest: |- + { + "account_number": "${data.equinix_network_account.dc.number}", + "core_count": 2, + "hostname": "csr1000v-p", + "metro_code": "${data.equinix_network_account.dc.metro_code}", + "name": "tf-csr1000v-p", + "notifications": [ + "john@equinix.com", + "marry@equinix.com", + "fred@equinix.com" + ], + "package_code": "SEC", + "secondary_device": [ + { + "account_number": "${data.equinix_network_account.sv.number}", + "hostname": "csr1000v-s", + "metro_code": "${data.equinix_network_account.sv.metro_code}", + "name": "tf-csr1000v-s", + "notifications": [ + "john@equinix.com", + "marry@equinix.com" + ] + } + ], + "term_length": 6, + "throughput": 500, + "throughput_unit": "Mbps", + "type_code": "CSR1000V", + "version": "16.09.05" + } + references: + account_number: data.equinix_network_account.dc.number + metro_code: data.equinix_network_account.dc.metro_code + secondary_device.account_number: data.equinix_network_account.sv.number + secondary_device.metro_code: data.equinix_network_account.sv.metro_code + - name: panw-cluster + manifest: |- + { + "account_number": "${data.equinix_network_account.sv.number}", + "acl_template_id": "0bff6e05-f0e7-44cd-804a-25b92b835f8b", + "byol": true, + "cluster_details": [ + { + "cluster_name": "tf-panw-cluster", + "node0": [ + { + "license_token": "licenseToken", + "vendor_configuration": [ + { + "hostname": "panw-node0" + } + ] + } + ], + "node1": [ + { + "license_token": "licenseToken", + "vendor_configuration": [ + { + "hostname": "panw-node1" + } + ] + } + ] + } + ], + "core_count": 2, + "interface_count": 10, + "metro_code": "${data.equinix_network_account.sv.metro_code}", + "name": "tf-panw", + "notifications": [ + "john@equinix.com", + "marry@equinix.com", + "fred@equinix.com" + ], + "package_code": "VM100", + "self_managed": true, + "ssh_key": [ + { + "key_name": "test-key", + "username": "test" + } + ], + "term_length": 6, + "type_code": "PA-VM", + "version": "10.1.3" + } + references: + account_number: data.equinix_network_account.sv.number + metro_code: data.equinix_network_account.sv.metro_code + argumentDocs: + account_number: '- (Required) Billing account number for a device.' + acl_template_id: '- (Optional) Identifier of an ACL template that will be applied on the device.' + additional_bandwidth: |- + - (Optional) Additional Internet bandwidth, in Mbps, that will be + allocated to the device (in addition to default 15Mbps). + asn: '- (Autonomous System Number) Unique identifier for a network on the internet.' + assigned_type: '- interface management type (Equinix Managed or empty).' + byol: |- + - (Optional) Boolean value that determines device licensing mode, i.e., + bring your own license or subscription (default). + cluster_details: |- + - (Optional) An object that has the cluster details. See + Cluster Details below for more details. + cluster_details.cluster_name: '- (Required) The name of the cluster device' + cluster_details.node0: |- + - (Required) An object that has node0 configuration. + See Cluster Details - Nodes below for more details. + cluster_details.node0.license_file_id: '- (Optional) License file id. This is necessary for Fortinet and Juniper clusters.' + cluster_details.node0.license_token: '- (Optional) License token. This is necessary for Palo Alto clusters.' + cluster_details.node0.vendor_configuration: |- + - (Optional) An object that has fields relevant to the vendor of the + cluster device. See Cluster Details - Nodes - Vendor Configuration + below for more details. + cluster_details.node0.vendor_configuration.activation_key: '- (Optional) Activation key. This is required for Velocloud clusters.' + cluster_details.node0.vendor_configuration.admin_password: |- + - (Optional) 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. + cluster_details.node0.vendor_configuration.controller_fqdn: '- (Optional) Controller fqdn. This is required for Velocloud clusters.' + cluster_details.node0.vendor_configuration.controller1: '- (Optional) System IP Address. Mandatory for the Fortinet SDWAN cluster device.' + cluster_details.node0.vendor_configuration.hostname: '- (Optional) Hostname. This is necessary for Palo Alto, Juniper, and Fortinet clusters.' + cluster_details.node0.vendor_configuration.root_password: |- + - (Optional) The CLI password of the device. This field is relevant only for the + Velocloud SDWAN cluster. + cluster_details.node1: |- + - (Required) An object that has node1 configuration. + See Cluster Details - Nodes below for more details. + cluster_id: '- The ID of the cluster.' + core_count: '- (Required) Number of CPU cores used by device.' + hostname: '- (Optional) Device hostname prefix.' + ibx: '- Device location Equinix Business Exchange name.' + id: '- interface identifier.' + interface: |- + - List of device interfaces. See Interface Attribute below + for more details. + interface_count: |- + - (Optional) Number of network interfaces on a device. If not specified, + default number for a given device type will be used. + ip_address: '- interface IP address.' + license_file: |- + - (Optional) Path to the license file that will be uploaded and applied on a + device. Applicable for some devices types in BYOL licensing mode. + license_file_id: '- Unique identifier of applied license file.' + license_status: |- + - Device license registration status. Possible values are APPLYING_LICENSE, + REGISTERED, APPLIED, WAITING_FOR_CLUSTER_SETUP, REGISTRATION_FAILED. + license_token: |- + - (Optional) License Token applicable for some device types in BYOL licensing + mode. + mac_address: '- interface MAC address.' + metro_code: '- (Required) Device location metro code.' + mgmt_acl_template_uuid: |- + - (Optional) Identifier of an MGMT interface ACL template that will be + applied on the device. + name: '- (Required) Device name.' + notifications: |- + - (Required) List of email addresses that will receive device status + notifications. + num_of_nodes: '- The number of nodes in the cluster.' + operational_status: '- interface operational status. One of up, down.' + order_reference: '- (Optional) Name/number used to identify device order on the invoice.' + package_code: '- (Required) Device software package code.' + purchase_order_number: '- (Optional) Purchase order number associated with a device order.' + redundancy_type: |- + - Device redundancy type applicable for HA devices, either + primary or secondary. + redundant_id: '- Unique identifier for a redundant device applicable for HA devices.' + region: '- Device location region.' + secondary_device: |- + - (Optional) Definition of secondary device for redundant + device configurations. See Secondary Device below for more details. + secondary_device.account_number: '- (Required) Billing account number for secondary device.' + secondary_device.acl_template_id: |- + - (Optional) Identifier of a WAN interface ACL template that will be applied + on a secondary device. + secondary_device.additional_bandwidth: |- + - (Optional) Additional Internet bandwidth, in Mbps, for a secondary + device. + secondary_device.hostname: '- (Optional) Secondary device hostname.' + secondary_device.license_file: |- + - (Optional) Path to the license file that will be uploaded and applied on a + secondary device. Applicable for some devices types in BYOL licensing mode. + secondary_device.license_token: '- (Optional) License Token can be provided for some device types o the device.' + secondary_device.metro_code: '- (Required) Metro location of a secondary device.' + secondary_device.mgmt_acl_template_uuid: |- + - (Optional) Identifier of an MGMT interface ACL template that will be + applied on the device. + secondary_device.name: '- (Required) Secondary device name.' + secondary_device.notifications: |- + - (Required) List of email addresses that will receive notifications about + secondary device. + secondary_device.ssh-key: |- + - (Optional) Up to one definition of SSH key that will be provisioned on a secondary + device. + secondary_device.vendor_configuration: |- + - (Optional) Key/Value pairs of vendor specific configuration parameters + for a secondary device. Key values are controller1, activationKey, managementType, siteId, + systemIpAddress. + self-configured: devices. + self_managed: |- + - (Optional) Boolean value that determines device management mode, i.e., + self-managed or Equinix managed (default). + ssh-key: |- + - (Optional) Definition of SSH key that will be provisioned + on a device (max one key). See SSH Key below for more details. + ssh_ip_address: '- IP address of SSH enabled interface on the device.' + ssh_ip_fqdn: '- FQDN of SSH enabled interface on the device.' + ssh_key.name: '- (Required) reference by name to previously provisioned public SSH key.' + ssh_key.username: '- (Required) username associated with given key.' + status: |- + - 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. + term_length: '- (Required) Device term length.' + throughput: '- (Optional) Device license throughput.' + throughput_unit: '- (Optional) License throughput unit. One of Mbps or Gbps.' + type: '- interface type.' + type_code: '- (Required) Device type code.' + uuid: '- Device unique identifier.' + vendor_configuration: |- + - (Optional) Map of vendor specific configuration parameters for a device + (controller1, activationKey, managementType, siteId, systemIpAddress) + version: '- (Required) Device software software version.' + wan_interafce_id: |- + - (Optional) Specify the WAN/SSH interface id. If not specified, default + WAN/SSH interface for a given device type will be used. + zone_code: '- Device location zone code.' + importStatements: [] + equinix_network_device_link: + subCategory: Network Edge + name: equinix_network_device_link + title: "" + examples: + - name: test + manifest: |- + { + "device": [ + { + "asn": "${equinix_network_device.test.asn \u003e 0 ? equinix_network_device.test.asn : 22111}", + "id": "${equinix_network_device.test.uuid}", + "interface_id": 6 + }, + { + "asn": "${equinix_network_device.test.secondary_device[0].asn \u003e 0 ? equinix_network_device.test.secondary_device[0].asn : 22333}", + "id": "${equinix_network_device.test.secondary_device[0].uuid}", + "interface_id": 7 + } + ], + "link": [ + { + "account_number": "${equinix_network_device.test.account_number}", + "dst_metro_code": "${equinix_network_device.test.secondary_device[0].metro_code}", + "src_metro_code": "${equinix_network_device.test.metro_code}", + "throughput": "50", + "throughput_unit": "Mbps" + } + ], + "name": "test-link", + "subnet": "192.168.40.64/27" + } + references: + device.id: equinix_network_device.test.secondary_device[0].uuid + link.account_number: equinix_network_device.test.account_number + link.dst_metro_code: equinix_network_device.test.secondary_device[0].metro_code + link.src_metro_code: equinix_network_device.test.metro_code + argumentDocs: + device: |- + - (Required) definition of one or more devices belonging to the + device link. See Device section below for more details. + device.asn: '- (Optional) Device ASN number. Not required for self configured devices.' + device.id: '- (Required) Device identifier.' + device.interface_id: |- + - (Optional) Device network interface identifier to use for device link + connection. + device.ip_address: '- IP address from device link subnet that was assigned to the device' + device.status: |- + - device link provisioning status on a given device. One of PROVISIONING, + PROVISIONED, DEPROVISIONING, DEPROVISIONED, FAILED. + link: |- + - (Optional) definition of one or more, inter metro, connections belonging + to the device link. See Link section below for more details. + link.account_number: |- + - (Required) billing account number to be used for + connection charges + link.dst_metro_code: '- (Required) connection destination metro code.' + link.dst_zone_code: '- (Deprecated) connection destination zone code is not required.' + link.src_metro_code: '- (Required) connection source metro code.' + link.src_zone_code: '- (Deprecated) connection source zone code is not required.' + link.throughput: '- (Required) connection throughput.' + link.throughput_unit: '- (Required) connection throughput unit (Mbps or Gbps).' + name: '- (Required) device link name.' + status: |- + - Device link provisioning status. One of PROVISIONING, PROVISIONED, + DEPROVISIONING, DEPROVISIONED, FAILED. + subnet: |- + - (Optional) device link subnet in CIDR format. Not required for link + between self configured devices. + uuid: '- Device link unique identifier.' + importStatements: [] + equinix_network_ssh_key: + subCategory: Network Edge + name: equinix_network_ssh_key + title: "" + examples: + - name: john + manifest: |- + { + "name": "johnKent", + "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDpXGdxljAyPp9vH97436U171cX" + } + argumentDocs: + name: '- (Required) The name of SSH key used for identification.' + public_key: |- + - (Required) The SSH public key. If this is a file, it can be read using the file + interpolation function. + uuid: '- The unique identifier of the key' + importStatements: [] + equinix_network_ssh_user: + subCategory: Network Edge + name: equinix_network_ssh_user + title: "" + examples: + - name: john + manifest: |- + { + "device_ids": [ + "${equinix_ne_device.csr1000v-ha.uuid}", + "${equinix_ne_device.csr1000v-ha.redundant_uuid}" + ], + "password": "secret", + "username": "john" + } + argumentDocs: + device_ids: '- (Required) list of device identifiers to which user will have access.' + password: '- (Required) SSH user password.' + username: '- (Required) SSH user login name.' + uuid: '- SSH user unique identifier.' + importStatements: [] diff --git a/package/crds/ecx.equinix.jet.crossplane.io_l2connectionaccepters.yaml b/package/crds/ecx.equinix.jet.crossplane.io_l2connectionaccepters.yaml index 85c3383..2023fa3 100644 --- a/package/crds/ecx.equinix.jet.crossplane.io_l2connectionaccepters.yaml +++ b/package/crds/ecx.equinix.jet.crossplane.io_l2connectionaccepters.yaml @@ -36,7 +36,7 @@ spec: schema: openAPIV3Schema: description: L2ConnectionAccepter is the Schema for the L2ConnectionAccepters - API. + API. properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -65,8 +65,8 @@ spec: forProvider: properties: accessKeySecretRef: - description: Access Key used to accept connection on provider - side + description: and secret_key resource arguments Access Key used + to accept connection on provider side properties: key: description: The key to select. @@ -83,15 +83,17 @@ spec: - namespace type: object awsProfile: - description: AWS Profile Name for retrieving credentials from - shared credentials file + description: argument or AWS_PROFILE environmental variable AWS + Profile Name for retrieving credentials from shared credentials + file type: string connectionId: - description: Identifier of layer 2 connection that will be accepted + description: Identifier of Layer 2 connection that will be accepted. + Identifier of layer 2 connection that will be accepted type: string secretKeySecretRef: description: Secret Key used to accept connection on provider - side + side. Secret Key used to accept connection on provider side properties: key: description: The key to select. @@ -289,6 +291,8 @@ spec: properties: awsConnectionId: description: Identifier of a hosted Direct Connect connection + on AWS side, applicable for accepter resource with connections + to AWS only. Identifier of a hosted Direct Connect connection on AWS side, applicable for accepter resource with connections to AWS only type: string diff --git a/package/crds/ecx.equinix.jet.crossplane.io_l2connections.yaml b/package/crds/ecx.equinix.jet.crossplane.io_l2connections.yaml index 2ea396b..1b969f5 100644 --- a/package/crds/ecx.equinix.jet.crossplane.io_l2connections.yaml +++ b/package/crds/ecx.equinix.jet.crossplane.io_l2connections.yaml @@ -35,7 +35,7 @@ spec: name: v1alpha1 schema: openAPIV3Schema: - description: L2Connection is the Schema for the L2Connections API. + description: L2Connection is the Schema for the L2Connections API. properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -64,14 +64,17 @@ spec: forProvider: properties: additionalInfo: - description: One or more additional information key-value objects + description: one or more additional information key-value objects + One or more additional information key-value objects items: properties: name: - description: Additional information key + description: secondary connection name Additional information + key type: string value: - description: Additional information value + description: additional information value Additional information + value type: string required: - name @@ -79,41 +82,58 @@ spec: type: object type: array authorizationKey: - description: Text field used to authorize connection on the provider - side. Value depends on a provider service profile used for connection + description: Unique identifier authorizing Equinix to provision + a connection towards a cloud service provider. At Equinix, an + Authorization Key is a generic term and is NOT encrypted on + Equinix Fabric. Cloud Service Providers might use a different + name to refer to this key such as Service Key or Authentication + Key. Value depends on a provider service profile, more information + on Equinix Fabric how to guide. Text field used to authorize + connection on the provider side. Value depends on a provider + service profile used for connection type: string deviceInterfaceId: - description: Identifier of network interface on a given device, - used for a connection. If not specified then first available - interface will be selected + description: Applicable with device_uuid, identifier of network + interface on a given device, used for a connection. If not specified + then first available interface will be selected. Identifier + of network interface on a given device, used for a connection. + If not specified then first available interface will be selected type: number deviceUuid: description: Unique identifier of the Network Edge virtual device - from which the connection would originate + from which the connection would originate. Unique identifier + of the Network Edge virtual device from which the connection + would originate type: string name: description: Connection name. An alpha-numeric 24 characters string - which can include only hyphens and underscores + which can include only hyphens and underscores Connection name. + An alpha-numeric 24 characters string which can include only + hyphens and underscores type: string namedTag: - description: The type of peering to set up in case when connecting + description: 'The type of peering to set up when connecting to + Azure Express Route. Valid values: PRIVATE, MICROSOFT, MANUAL*, + PUBLIC*. The type of peering to set up in case when connecting to Azure Express Route. One of PRIVATE, MICROSOFT, MANUAL, PUBLIC (MANUAL and PUBLIC are deprecated and not available for new - connections) + connections)' type: string notifications: description: A list of email addresses used for sending connection - update notifications + update notifications. A list of email addresses used for sending + connection update notifications items: type: string type: array portUuid: - description: Unique identifier of the buyer's port from which - the connection would originate + description: Unique identifier of the Equinix Fabric Port from + which the connection would originate. Unique identifier of the + buyer's port from which the connection would originate type: string profileUuid: - description: Unique identifier of the service provider's service - profile + description: Unique identifier of the service provider's profile. + Unique identifier of the service provider's service profile type: string profileUuidRef: description: Reference to a L2Serviceprofile to populate profileUuid. @@ -190,113 +210,167 @@ spec: type: object purchaseOrderNumber: description: Connection's purchase order number to reflect on + the invoice Connection's purchase order number to reflect on the invoice type: string secondaryConnection: description: Definition of secondary connection for redundant, - HA connectivity + HA connectivity. See Secondary Connection below for more details. + Definition of secondary connection for redundant, HA connectivity items: properties: authorizationKey: - description: Text field used to authorize connection on - the provider side. Value depends on a provider service - profile used for connection + description: Unique identifier authorizing Equinix to provision + a connection towards a cloud service provider. If not + specified primary authorization_key will be used. However, + some service providers may require different keys for + each connection. More information on Equinix Fabric how + to guide. Text field used to authorize connection on the + provider side. Value depends on a provider service profile + used for connection type: string deviceInterfaceId: - description: Identifier of network interface on a given - device, used for a connection. If not specified then first - available interface will be selected + description: Applicable with device_uuid, identifier of + network interface on a given device. If not specified + then first available interface will be selected. Identifier + of network interface on a given device, used for a connection. + If not specified then first available interface will be + selected type: number deviceUuid: - description: Unique identifier of the Network Edge virtual + description: Applicable with primary device_uuid. Identifier + of the Network Edge virtual device from which the secondary + connection would originate. If not specified primary device_uuid + will be used. Unique identifier of the Network Edge virtual device from which the connection would originate type: string name: - description: Connection name. An alpha-numeric 24 characters - string which can include only hyphens and underscores + description: secondary connection name Connection name. + An alpha-numeric 24 characters string which can include + only hyphens and underscores type: string portUuid: - description: Unique identifier of the buyer's port from - which the connection would originate + description: Applicable with primary port_uuid. Identifier + of the Equinix Fabric Port from which the secondary connection + would originate. If not specified primary port_uuid will + be used. Unique identifier of the buyer's port from which + the connection would originate type: string profileUuid: description: Unique identifier of the service provider's - service profile + profile. Unique identifier of the service provider's service + profile type: string sellerMetroCode: - description: The metro code that denotes the connection's - remote side (z-side) + description: The metro code that denotes the secondary connection’s + destination (Z side). . The metro code that denotes the + connection's remote side (z-side) type: string sellerRegion: - description: The region in which the seller port resides + description: The region in which the seller port resides. + If not specified primary seller_region will be used. The + region in which the seller port resides type: string serviceToken: - description: Unique Equinix Fabric key given by a provider + description: Required with primary service_token. Unique + Equinix Fabric key given by a provider that grants you + authorization to enable connectivity from an Equinix Fabric + Port or virtual device. Each connection (primary and secondary) + requires a separate token. More details in Fabric Service + Tokens. Unique Equinix Fabric key given by a provider that grants you authorization to enable connectivity from a shared multi-tenant port (a-side) type: string speed: - description: Speed/Bandwidth to be allocated to the connection + description: Speed/Bandwidth to be allocated to the secondary + connection. If not specified primary speed will be used. + Speed/Bandwidth to be allocated to the connection type: number speedUnit: description: Unit of the speed/bandwidth to be allocated - to the connection + to the secondary connection. If not specified primary + speed_unit will be used. Unit of the speed/bandwidth to + be allocated to the connection type: string vlanCtag: - description: C-Tag/Inner-Tag of the connection, a numeric + description: Applicable with port_uuid. C-Tag/Inner-Tag + of the secondary connection, a numeric character ranging + from 2 - 4094. C-Tag/Inner-Tag of the connection, a numeric character ranging from 2 - 4094 type: number vlanStag: - description: S-Tag/Outer-Tag of the connection, a numeric - character ranging from 2 - 4094 + description: S-Tag/Outer-Tag of the secondary connection, + a numeric character ranging from 2 - 4094. S-Tag/Outer-Tag + of the connection, a numeric character ranging from 2 + - 4094 type: number required: - name type: object type: array sellerMetroCode: - description: The metro code that denotes the connection's remote - side (z-side) + description: The metro code that denotes the connection’s remote/destination + side (z-side). The metro code that denotes the connection's + remote side (z-side) type: string sellerRegion: - description: The region in which the seller port resides + description: The region in which the seller port resides. The + region in which the seller port resides type: string serviceToken: - description: Unique Equinix Fabric key given by a provider that - grants you authorization to enable connectivity from a shared - multi-tenant port (a-side) + description: '- A-side service tokens authorize you to create + a connection from a customer port, which created the token for + you, to a service profile or your own port. More details in + A-Side Fabric Service Tokens. Unique Equinix Fabric key given + by a provider that grants you authorization to enable connectivity + from a shared multi-tenant port (a-side)' type: string speed: - description: Speed/Bandwidth to be allocated to the connection + description: Speed/Bandwidth to be allocated to the connection. + Speed/Bandwidth to be allocated to the connection type: number speedUnit: description: Unit of the speed/bandwidth to be allocated to the + connection. Unit of the speed/bandwidth to be allocated to the connection type: string vlanCtag: - description: C-Tag/Inner-Tag of the connection, a numeric character - ranging from 2 - 4094 + description: C-Tag/Inner-Tag of the connection - a numeric character + ranging from 2 - 4094. C-Tag/Inner-Tag of the connection, a + numeric character ranging from 2 - 4094 type: number vlanStag: - description: S-Tag/Outer-Tag of the connection, a numeric character - ranging from 2 - 4094 + description: S-Tag/Outer-Tag of the connection - a numeric character + ranging from 2 - 4094. S-Tag/Outer-Tag of the connection, a + numeric character ranging from 2 - 4094 type: number zsidePortUuid: - description: Unique identifier of the port on the remote side - (z-side) + description: Unique identifier of the port on the remote/destination + side (z-side). Allows you to connect between your own ports + or virtual devices across your company's Equinix Fabric deployment, + with no need for a private service profile. Unique identifier + of the port on the remote side (z-side) type: string zsideServiceToken: - description: Unique Equinix Fabric key given by a provider that - grants you authorization to enable connectivity to a shared - multi-tenant port (z-side) + description: '- Z-side service tokens authorize you to create + a connection from your port or virtual device to a customer + port which created the token for you. zside_service_token cannot + be used with secondary_connection. More details in Z-Side Fabric + Service Tokens. Unique Equinix Fabric key given by a provider + that grants you authorization to enable connectivity to a shared + multi-tenant port (z-side)' type: string zsideVlanCtag: - description: C-Tag/Inner-Tag of the connection on the remote side - (z-side) + description: C-Tag/Inner-Tag of the connection on the remote/destination + side (z-side) - a numeric character ranging from 2 - 4094. secondary_connection + is defined it will internally use same zside_vlan_ctag for the + secondary connection. C-Tag/Inner-Tag of the connection on the + remote side (z-side) type: number zsideVlanStag: - description: S-Tag/Outer-Tag of the connection on the remote side - (z-side) + description: S-Tag/Outer-Tag of the connection on the remote/destination + side (z-side) - a numeric character ranging from 2 - 4094. S-Tag/Outer-Tag + of the connection on the remote side (z-side) type: number required: - name @@ -482,6 +556,7 @@ spec: properties: actions: description: One or more pending actions to complete connection + provisioning. One or more pending actions to complete connection provisioning items: properties: @@ -501,6 +576,7 @@ spec: validationPattern: type: string value: + description: additional information value type: string type: object type: array @@ -512,28 +588,33 @@ spec: type: string providerStatus: description: Connection provisioning status on service provider's - side + side. Connection provisioning status on service provider's side type: string redundancyGroup: description: Unique identifier of group containing a primary and - secondary connection + secondary connection. Unique identifier of group containing + a primary and secondary connection type: string redundancyType: description: Connection redundancy type, applicable for HA connections. - Either primary or secondary + Valid values are PRIMARY, SECONDARY. Connection redundancy type, + applicable for HA connections. Either primary or secondary type: string redundantUuid: description: Unique identifier of the redundant connection, applicable - for HA connections + for HA connections. Unique identifier of the redundant connection, + applicable for HA connections type: string secondaryConnection: description: Definition of secondary connection for redundant, - HA connectivity + HA connectivity. See Secondary Connection below for more details. + Definition of secondary connection for redundant, HA connectivity items: properties: actions: description: One or more pending actions to complete connection - provisioning + provisioning. One or more pending actions to complete + connection provisioning items: properties: message: @@ -552,6 +633,7 @@ spec: validationPattern: type: string value: + description: additional information value type: string type: object type: array @@ -561,57 +643,79 @@ spec: type: array providerStatus: description: Connection provisioning status on service provider's + side. Connection provisioning status on service provider's side type: string redundancyGroup: description: Unique identifier of group containing a primary - and secondary connection + and secondary connection. Unique identifier of group containing + a primary and secondary connection type: string redundancyType: description: Connection redundancy type, applicable for - HA connections. Either primary or secondary + HA connections. Valid values are PRIMARY, SECONDARY. Connection + redundancy type, applicable for HA connections. Either + primary or secondary type: string redundantUuid: description: Unique identifier of the redundant connection, - applicable for HA connections + applicable for HA connections. Unique identifier of the + redundant connection, applicable for HA connections type: string status: description: Connection provisioning status on Equinix Fabric + side. Connection provisioning status on Equinix Fabric side type: string uuid: - description: Unique identifier of the connection + description: Unique identifier of the connection. Unique + identifier of the connection type: string vendorToken: description: The Equinix Fabric Token the connection was created with. Applicable if the connection was created - with a ServiceToken (a-side) or ZSideServiceToken (z-side) + with a service_token (a-side) or zside_service_token (z-side). + The Equinix Fabric Token the connection was created with. + Applicable if the connection was created with a ServiceToken + (a-side) or ZSideServiceToken (z-side) type: string zsidePortUuid: - description: Unique identifier of the port on the remote - side (z-side) + description: Unique identifier of the port on the remote/destination + side (z-side). Allows you to connect between your own + ports or virtual devices across your company's Equinix + Fabric deployment, with no need for a private service + profile. Unique identifier of the port on the remote side + (z-side) type: string zsideVlanCtag: - description: C-Tag/Inner-Tag of the connection on the remote - side (z-side) + description: C-Tag/Inner-Tag of the connection on the remote/destination + side (z-side) - a numeric character ranging from 2 - 4094. + secondary_connection is defined it will internally use + same zside_vlan_ctag for the secondary connection. C-Tag/Inner-Tag + of the connection on the remote side (z-side) type: number zsideVlanStag: - description: S-Tag/Outer-Tag of the connection on the remote - side (z-side) + description: S-Tag/Outer-Tag of the connection on the remote/destination + side (z-side) - a numeric character ranging from 2 - 4094. + S-Tag/Outer-Tag of the connection on the remote side (z-side) type: number type: object type: array status: description: Connection provisioning status on Equinix Fabric - side + side. Connection provisioning status on Equinix Fabric side type: string uuid: - description: Unique identifier of the connection + description: Unique identifier of the connection. Unique identifier + of the connection type: string vendorToken: description: The Equinix Fabric Token the connection was created - with. Applicable if the connection was created with a ServiceToken - (a-side) or ZSideServiceToken (z-side) + with. Applicable if the connection was created with a service_token + (a-side) or zside_service_token (z-side). The Equinix Fabric + Token the connection was created with. Applicable if the connection + was created with a ServiceToken (a-side) or ZSideServiceToken + (z-side) type: string type: object conditions: diff --git a/package/crds/ecx.equinix.jet.crossplane.io_l2serviceprofiles.yaml b/package/crds/ecx.equinix.jet.crossplane.io_l2serviceprofiles.yaml index 2575b9c..ccaabe9 100644 --- a/package/crds/ecx.equinix.jet.crossplane.io_l2serviceprofiles.yaml +++ b/package/crds/ecx.equinix.jet.crossplane.io_l2serviceprofiles.yaml @@ -36,7 +36,6 @@ spec: schema: openAPIV3Schema: description: L2Serviceprofile is the Schema for the L2Serviceprofiles API. - properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -65,49 +64,69 @@ spec: forProvider: properties: apiIntegration: - description: Specifies the API integration ID that was provided + description: Boolean value that determines if API integration + is enabled. It allows you to complete connection provisioning + in less than five minutes. Without API Integration, additional + manual steps will be required and the provisioning will likely + take longer. Specifies the API integration ID that was provided to the customer during onboarding type: boolean authkeyLabel: description: Name of the authentication key label to be used by - the Authentication Key service + the Authentication Key service. It allows Service Providers + with QinQ ports to accept groups of connections or VLANs from + Dot1q customers. This is similar to S-Tag/C-Tag capabilities. + Name of the authentication key label to be used by the Authentication + Key service type: string bandwidthAlertThreshold: description: Specifies the port bandwidth threshold percentage. + If the bandwidth limit is met or exceeded, an alert is sent + to the seller. Specifies the port bandwidth threshold percentage. If the bandwidth limit is met or exceeded, an alert is sent to the seller type: number bandwidthThresholdNotifications: description: A list of email addresses that will receive notifications - about bandwidth thresholds + about bandwidth thresholds. A list of email addresses that will + receive notifications about bandwidth thresholds items: type: string type: array connectionNameLabel: - description: Custom name used for calling a connections i.e. circuit. - Defaults to Connection + description: Custom name used for calling a connections e.g. circuit. + Defaults to Connection. Custom name used for calling a connections + i.e. circuit. Defaults to Connection type: string ctagLabel: - description: C-Tag/Inner-Tag label name for the connections + description: C-Tag/Inner-Tag label name for the connections. C-Tag/Inner-Tag + label name for the connections type: string description: - description: Description of the service profile + description: Description of the service profile. Description of + the service profile type: string equinixManagedPortVlan: - description: Boolean value that indicates whether the port and - VLAN details are managed by Equinix + description: Applicable when api_integration is set to true. It + indicates whether the port and VLAN details are managed by Equinix. + Boolean value that indicates whether the port and VLAN details + are managed by Equinix type: boolean features: - description: Block of profile features configuration + description: Block of profile features configuration. See Features + below for more details. Block of profile features configuration items: properties: allowRemoteConnections: description: Indicates whether or not connections to this - profile can be created from remote metro locations + profile can be created from remote metro locations. Indicates + whether or not connections to this profile can be created + from remote metro locations type: boolean testProfile: - description: Indicates whether or not this profile can be - used for test connections + description: (Deprecated) Indicates whether or not this + profile can be used for test connections. Indicates whether + or not this profile can be used for test connections type: boolean required: - allowRemoteConnections @@ -115,31 +134,49 @@ spec: type: array integrationId: description: Specifies the API integration ID that was provided - to the customer during onboarding + to the customer during onboarding. You can validate your API + integration ID using the validateIntegrationId API. Specifies + the API integration ID that was provided to the customer during + onboarding type: string name: description: Name of the service profile. An alpha-numeric 50 - characters string which can include only hyphens and underscores + characters string which can include only hyphens and underscores. + Name of the service profile. An alpha-numeric 50 characters + string which can include only hyphens and underscores type: string oversubscription: - description: Oversubscription limit that will cause alerting. + description: You can set an alert for when a percentage of your + profile has been sold. Service providers like to use this functionality + to alert them when they need to add more ports or when they + need to create a new service profile. Required with oversubscription_allowed, + defaults to 1x. Oversubscription limit that will cause alerting. Default is 1x type: string oversubscriptionAllowed: description: Boolean value that determines if, regardless of the utilization, Equinix Fabric will continue to add connections - to your links until we reach the oversubscription limit + to your links until we reach the oversubscription limit. By + selecting this service, you acknowledge that you will manage + decisions on when to increase capacity on these link. Boolean + value that determines if, regardless of the utilization, Equinix + Fabric will continue to add connections to your links until + we reach the oversubscription limit type: boolean port: - description: One or more definitions of ports associated with - the profile + description: One or more definitions of ports residing in locations, + from which your customers will be able to access services using + this service profile. See Port below for more details. One or + more definitions of ports associated with the profile items: properties: metroCode: - description: Port location metro code + description: The metro code of location where the port resides. + Port location metro code type: string uuid: - description: Unique identifier of the port + description: Unique identifier of the port. Unique identifier + of the port type: string required: - metroCode @@ -148,45 +185,61 @@ spec: type: array private: description: Boolean value that indicates whether or not this - is a private profile. + is a private profile, i.e. not public like AWS/Azure/Oracle/Google, + etc. If private, it can only be available for creating connections + if correct permissions are granted. Boolean value that indicates + whether or not this is a private profile. type: boolean privateUserEmails: - description: A list of email addresses associated to users that - will be allowed to access this service profile. Applicable for - private profiles + description: An array of users email ids who have permission to + access this service profile. Argument is required when profile + is set as private. A list of email addresses associated to users + that will be allowed to access this service profile. Applicable + for private profiles items: type: string type: array profileStatuschangeNotifications: description: A list of email addresses that will receive notifications - about profile status changes + about profile status changes. A list of email addresses that + will receive notifications about profile status changes items: type: string type: array redundancyRequired: - description: Boolean value that determines if yourconnections - will require redundancy + description: Boolean value that determines if your connections + will require redundancy. if yes, then users need to create a + secondary redundant connection. Boolean value that determines + if yourconnections will require redundancy type: boolean secondaryVlanFromPrimary: - description: Indicates whether the VLAN ID of the secondary connection - is the same as the primary connection + description: Indicates whether the VLAN ID of. the secondary connection + is the same as the primary connection. Indicates whether the + VLAN ID of the secondary connection is the same as the primary + connection type: boolean servicekeyAutogenerated: description: Boolean value that indicates whether multiple connections - can be created with the same authorization key + can be created with the same authorization key to connect to + this service profile after the first connection has been approved + by the seller. Boolean value that indicates whether multiple + connections can be created with the same authorization key type: boolean speedBand: - description: One or more definitions of supported speed/bandwidth - configurations + description: One or more definitions of supported speed/bandwidth. + Argument is required when speed_from_api is set to false. See + Speed Band below for more details. One or more definitions of + supported speed/bandwidth configurations items: properties: speed: - description: Speed/bandwidth supported by given service - profile + description: Speed/bandwidth supported by this service profile. + Speed/bandwidth supported by given service profile type: number speedUnit: - description: Unit of the speed/bandwidth supported by given - service profile + description: Unit of the speed/bandwidth supported by this + service profile. One of MB, GB. Unit of the speed/bandwidth + supported by given service profile type: string required: - speed @@ -195,19 +248,27 @@ spec: type: array speedCustomizationAllowed: description: Boolean value that determines if customer is allowed - to enter a custom connection speed + to enter a custom connection speed. Boolean value that determines + if customer is allowed to enter a custom connection speed type: boolean speedFromApi: description: Boolean valuta that determines if connection speed - will be derived from an API call + will be derived from an API call. Argument has to be specified + when api_integration is enabled. Boolean valuta that determines + if connection speed will be derived from an API call type: boolean tagType: - description: Specifies additional tagging information required - by the seller profile for Dot1Q to QinQ translation + description: 'Specifies additional tagging information required + by the seller profile for Dot1Q to QinQ translation. See Enhance + Dot1q to QinQ translation support for additional information. + Valid values are: Specifies additional tagging information required + by the seller profile for Dot1Q to QinQ translation' type: string vcStatuschangeNotifications: description: A list of email addresses that will receive notifications - about connections approvals and rejections + about connections approvals and rejections. A list of email + addresses that will receive notifications about connections + approvals and rejections items: type: string type: array @@ -398,10 +459,12 @@ spec: id: type: string state: - description: Service profile provisioning status + description: Service profile provisioning status. Service profile + provisioning status type: string uuid: - description: Unique identifier of the service profile + description: Unique identifier of the service profile. Unique + identifier of the service profile type: string type: object conditions: diff --git a/package/crds/metal.equinix.jet.crossplane.io_connections.yaml b/package/crds/metal.equinix.jet.crossplane.io_connections.yaml index d79627e..659bba2 100644 --- a/package/crds/metal.equinix.jet.crossplane.io_connections.yaml +++ b/package/crds/metal.equinix.jet.crossplane.io_connections.yaml @@ -35,7 +35,7 @@ spec: name: v1alpha1 schema: openAPIV3Schema: - description: Connection is the Schema for the Connections API. + description: Connection is the Schema for the Connections API. properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -64,24 +64,30 @@ spec: forProvider: properties: description: - description: Description of the connection resource + description: Description for the connection resource. Description + of the connection resource type: string facility: - description: Facility where the connection will be created + description: Facility where the connection will be created. Facility + where the connection will be created type: string metro: - description: Metro where the connection will be created + description: Metro where the connection will be created. Metro + where the connection will be created type: string mode: description: Mode for connections in IBX facilities with the dedicated - type - standard or tunnel + type - standard or tunnel. Default is standard. Mode for connections + in IBX facilities with the dedicated type - standard or tunnel type: string name: - description: Name of the connection resource + description: Name of the connection resource Name of the connection + resource type: string organizationId: - description: ID of the organization responsible for the connection. - Applicable with type "dedicated" + description: ID of the organization where the connection is scoped + to. ID of the organization responsible for the connection. Applicable + with type "dedicated" type: string organizationIdRef: description: Reference to a Organization to populate organizationId. @@ -158,7 +164,8 @@ spec: type: object projectId: description: ID of the project where the connection is scoped - to. Required with type "shared" + to, must be set for. ID of the project where the connection + is scoped to. Required with type "shared" type: string projectIdRef: description: Reference to a Project to populate projectId. @@ -234,28 +241,34 @@ spec: type: object type: object redundancy: - description: Connection redundancy - redundant or primary + description: Connection redundancy - redundant or primary. Connection + redundancy - redundant or primary type: string serviceTokenType: description: Only used with shared connection. Type of service + token to use for the connection, a_side or z_side. Type of service token to use for the connection, a_side or z_side type: string speed: - description: Port speed. Allowed values are 50Mbps, 200Mbps, 500Mbps, - 1Gbps, 2Gbps, 5Gbps, 10Gbps + description: Connection speed - one of 50Mbps, 200Mbps, 500Mbps, + 1Gbps, 2Gbps, 5Gbps, 10Gbps. Port speed. Allowed values are + 50Mbps, 200Mbps, 500Mbps, 1Gbps, 2Gbps, 5Gbps, 10Gbps type: string tags: - description: Tags attached to the connection + description: String list of tags. Tags attached to the connection items: type: string type: array type: - description: Connection type - dedicated or shared + description: Connection type - dedicated or shared. Connection + type - dedicated or shared type: string vlans: - description: Only used with shared connection. VLANs to attach. + description: Only used with shared connection. Vlans to attach. Pass one vlan for Primary/Single connection and two vlans for - Redundant connection + Redundant connection. Only used with shared connection. VLANs + to attach. Pass one vlan for Primary/Single connection and two + vlans for Redundant connection items: type: number type: array @@ -444,21 +457,28 @@ spec: id: type: string ports: - description: List of connection ports - primary (`ports[0]`) and - secondary (`ports[1]`) + description: List of connection ports - primary (ports[0]) and + secondary (ports[1]). Schema of port is described in documentation + of the equinix_metal_connection datasource. List of connection + ports - primary (`ports[0]`) and secondary (`ports[1]`) items: properties: id: type: string linkStatus: + description: Status of the connection resource. type: string name: + description: Name of the connection resource type: string role: type: string speed: + description: Connection speed - one of 50Mbps, 200Mbps, + 500Mbps, 1Gbps, 2Gbps, 5Gbps, 10Gbps. type: number status: + description: Status of the connection resource. type: string virtualCircuitIds: items: @@ -467,8 +487,13 @@ spec: type: object type: array serviceTokens: - description: Only used with shared connection. List of service - tokens required to continue the setup process with [equinix_ecx_l2_connection](https://registry.io/providers/equinix/equinix/latest/docs/resources/equinix_ecx_l2_connection) + description: List of connection service tokens with attributes + required to configure the connection in Equinix Fabric with + the equinix_ecx_l2_connection resource or from the Equinix Fabric + Portal. Scehma of service_token is described in documentation + of the equinix_metal_connection datasource. Only used with shared + connection. List of service tokens required to continue the + setup process with [equinix_ecx_l2_connection](https://registry.io/providers/equinix/equinix/latest/docs/resources/equinix_ecx_l2_connection) or from the [Equinix Fabric Portal](https://ecxfabric.equinix.com/dashboard) items: properties: @@ -477,20 +502,28 @@ spec: id: type: string maxAllowedSpeed: + description: Connection speed - one of 50Mbps, 200Mbps, + 500Mbps, 1Gbps, 2Gbps, 5Gbps, 10Gbps. type: string role: type: string state: type: string type: + description: Connection type - dedicated or shared. type: string type: object type: array status: - description: Status of the connection resource + description: Status of the connection resource. Status of the + connection resource type: string token: - description: Only used with shared connection. Fabric Token required + description: (Deprecated) Fabric Token required to configure the + connection in Equinix Fabric with the equinix_ecx_l2_connection + resource or from the Equinix Fabric Portal. If your organization + already has connection service tokens enabled, use service_tokens + instead. Only used with shared connection. Fabric Token required to continue the setup process with [equinix_ecx_l2_connection](https://registry.io/providers/equinix/equinix/latest/docs/resources/equinix_ecx_l2_connection) or from the [Equinix Fabric Portal](https://ecxfabric.equinix.com/dashboard) type: string diff --git a/package/crds/metal.equinix.jet.crossplane.io_devices.yaml b/package/crds/metal.equinix.jet.crossplane.io_devices.yaml index dc444bb..707dbe9 100644 --- a/package/crds/metal.equinix.jet.crossplane.io_devices.yaml +++ b/package/crds/metal.equinix.jet.crossplane.io_devices.yaml @@ -35,7 +35,7 @@ spec: name: v1alpha1 schema: openAPIV3Schema: - description: Device is the Schema for the Devices API. + description: Device is the Schema for the Devices API. properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -64,13 +64,16 @@ spec: forProvider: properties: alwaysPxe: - description: If true, a device with OS custom_ipxe will + description: If true, a device with OS custom_ipxe will continue + to boot via iPXE on reboots. If true, a device with OS custom_ipxe + will type: boolean billingCycle: - description: monthly or hourly + description: monthly or hourly monthly or hourly type: string customDataSecretRef: - description: A string of the desired Custom Data for the device + description: A string of the desired Custom Data for the device. + A string of the desired Custom Data for the device properties: key: description: The key to select. @@ -87,10 +90,17 @@ spec: - namespace type: object description: - description: Description string for the device + description: The device description. Description string for the + device type: string facilities: description: List of facility codes with deployment preferences. + Equinix Metal API will go through the list and will deploy your + device to first facility with free capacity. List items must + be facility codes or any (a wildcard). To find the facility + code, visit Facilities API docs, set your API auth token in + the top of the page and see JSON from the API response. Conflicts + with metro. List of facility codes with deployment preferences. Equinix Metal API will go through the list and will deploy your device to first facility with free capacity. List items must be facility codes or any (a wildcard). To find the facility @@ -102,57 +112,90 @@ spec: type: array forceDetachVolumes: description: Delete device even if it has volumes attached. Only - applies for destroy action + applies for destroy action. Delete device even if it has volumes + attached. Only applies for destroy action type: boolean hardwareReservationId: - description: The UUID of the hardware reservation where you want + description: 'The UUID of the hardware reservation where you want this device deployed, or next-available if you want to pick - your next available reservation automatically + your next available reservation automatically. Changing this + from a reservation UUID to next-available will re-create the + device in another reservation. Please be careful when using + hardware reservation UUID and next-available together for the + same pool of reservations. It might happen that the reservation + which Equinix Metal API will pick as next-available is the reservation + which you refer with UUID in another equinix_metal_device resource. + If that happens, and the equinix_metal_device with the UUID + is created later, resource creation will fail because the reservation + is already in use (by the resource created with next-available). + To workaround this, have the next-available resource explicitly + depend_on the resource with hardware reservation UUID, so that + the latter is created first. For more details, see issue #176. + The UUID of the hardware reservation where you want this device + deployed, or next-available if you want to pick your next available + reservation automatically' type: string hostname: description: The device hostname used in deployments taking advantage - of Layer3 DHCP or metadata service configuration. + of Layer3 DHCP or metadata service configuration. The device + hostname used in deployments taking advantage of Layer3 DHCP + or metadata service configuration. type: string ipAddress: - description: A list of IP address types for the device (structure - is documented below) + description: A list of IP address types for the device. See IP + address below for more details. A list of IP address types for + the device (structure is documented below) items: properties: cidr: - description: CIDR suffix for IP block assigned to this device + description: CIDR suffix for IP address block to be assigned, + i.e. amount of addresses. CIDR suffix for IP block assigned + to this device type: number reservationIds: - description: IDs of reservations to pick the blocks from + description: List of UUIDs of IP block reservations from + which the public IPv4 address should be taken. IDs of + reservations to pick the blocks from items: type: string type: array type: - description: one of public_ipv4,private_ipv4,public_ipv6 + description: One of private_ipv4, public_ipv4, public_ipv6. + one of public_ipv4,private_ipv4,public_ipv6 type: string required: - type type: object type: array ipxeScriptUrl: - description: URL pointing to a hosted iPXE script. More + description: URL pointing to a hosted iPXE script. More information + is in the Custom iPXE doc. URL pointing to a hosted iPXE script. + More type: string metro: - description: Metro area for the new device. Conflicts with facilities + description: Metro area for the new device. Conflicts with facilities. + Metro area for the new device. Conflicts with facilities type: string operatingSystem: description: The operating system slug. To find the slug, or visit - [Operating Systems API docs](https://metal.equinix.com/developers/api/operatingsystems), + Operating Systems API docs, set your API auth token in the top + of the page and see JSON from the API response. The operating + system slug. To find the slug, or visit [Operating Systems API + docs](https://metal.equinix.com/developers/api/operatingsystems), set your API auth token in the top of the page and see JSON from the API response type: string plan: description: The device plan slug. To find the plan slug, visit - [Device plans API docs](https://metal.equinix.com/developers/api/plans), + Device plans API docs, set your auth token in the top of the + page and see JSON from the API response. The device plan slug. + To find the plan slug, visit [Device plans API docs](https://metal.equinix.com/developers/api/plans), set your auth token in the top of the page and see JSON from the API response type: string projectId: description: The ID of the project in which to create the device + The ID of the project in which to create the device type: string projectIdRef: description: Reference to a Project to populate projectId. @@ -229,6 +272,11 @@ spec: type: object projectSshKeyIds: description: Array of IDs of the project SSH keys which should + be added to the device. If you omit this, SSH keys of all the + members of the parent project will be added to the device. If + you specify this array, only the listed project SSH keys will + be added. Project SSH keys can be created with the equinix_metal_project_ssh_key + resource. Array of IDs of the project SSH keys which should be added to the device. If you omit this, SSH keys of all the members of the parent project will be added to the device. If you specify this array, only the listed project SSH keys (and @@ -239,40 +287,55 @@ spec: type: string type: array reinstall: + description: Whether the device should be reinstalled instead + of destroyed when modifying user_data, custom_data, or operating + system. See Reinstall below for more details. items: properties: deprovisionFast: - description: Whether the OS disk should be filled with `00h` - bytes before reinstall + description: Whether the OS disk should be filled with 00h + bytes before reinstall. Defaults to false. Whether the + OS disk should be filled with `00h` bytes before reinstall type: boolean enabled: - description: Whether the device should be reinstalled instead - of destroyed + description: Whether the provider should favour reinstall + over destroy and create. Defaults to false. Whether the + device should be reinstalled instead of destroyed type: boolean preserveData: description: Whether the non-OS disks should be kept or - wiped during reinstall + wiped during reinstall. Defaults to false. Whether the + non-OS disks should be kept or wiped during reinstall type: boolean type: object type: array storage: description: JSON for custom partitioning. Only usable on reserved + hardware. More information in in the Custom Partitioning and + RAID doc. Please note that the disks.partitions.size attribute + must be a string, not an integer. It can be a number string, + or size notation string, e.g. "4G" or "8M" (for gigabytes and + megabytes). 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 type: string tags: - description: Tags attached to the device + description: Tags attached to the device. Tags attached to the + device items: type: string type: array terminationTime: - description: Timestamp for device termination. For example "2021-09-03T16:32:00+03:00". + description: Timestamp for device termination. For example 2021-09-03T16:32:00+03:00. + If you don't supply timezone info, timestamp is assumed to be + in UTC. Timestamp for device termination. For example "2021-09-03T16:32:00+03:00". If you don't supply timezone info, timestamp is assumed to be in UTC. type: string userDataSecretRef: - description: A string of the desired User Data for the device + description: A string of the desired User Data for the device. + A string of the desired User Data for the device properties: key: description: The key to select. @@ -293,6 +356,11 @@ spec: added to the device. If you omit this, SSH keys of all the members of the parent project will be added to the device. If you specify this array, only the listed user SSH keys (and any project_ssh_key_ids) + will be added. User SSH keys can be created with the equinix_metal_ssh_key + resource Array of IDs of the user SSH keys which should be added + to the device. If you omit this, SSH keys of all the members + of the parent project will be added to the device. If you specify + this array, only the listed user SSH keys (and any project_ssh_key_ids) will be added. User SSH keys can be created with the [equinix_metal_ssh_key](equinix_metal_ssh_key.md) resource items: @@ -301,7 +369,10 @@ spec: waitForReservationDeprovision: description: Only used for devices in reserved hardware. If set, the deletion of this device will block until the hardware reservation - is marked provisionable (about 4 minutes in August 2019) + is marked provisionable (about 4 minutes in August 2019). Only + used for devices in reserved hardware. If set, the deletion + of this device will block until the hardware reservation is + marked provisionable (about 4 minutes in August 2019) type: boolean required: - operatingSystem @@ -484,81 +555,111 @@ spec: atProvider: properties: accessPrivateIpv4: - description: The ipv4 private IP assigned to the device + description: The ipv4 private IP assigned to the device. The ipv4 + private IP assigned to the device type: string accessPublicIpv4: - description: The ipv4 maintenance IP assigned to the device + description: The ipv4 maintenance IP assigned to the device. The + ipv4 maintenance IP assigned to the device type: string accessPublicIpv6: - description: The ipv6 maintenance IP assigned to the device + description: The ipv6 maintenance IP assigned to the device. The + ipv6 maintenance IP assigned to the device type: string created: - description: The timestamp for when the device was created + description: The timestamp for when the device was created. The + timestamp for when the device was created type: string deployedFacility: - description: The facility where the device is deployed + description: The facility where the device is deployed. The facility + where the device is deployed type: string deployedHardwareReservationId: description: ID of hardware reservation where this device was + deployed. It is useful when using the next-available hardware + reservation. ID of hardware reservation where this device was deployed. It is useful when using the next-available hardware reservation type: string id: + description: The ID of the device. type: string locked: - description: Whether the device is locked + description: Whether the device is locked. Whether the device + is locked type: boolean network: description: 'The device''s private and public IP (v4 and v6) - network details. When a device is run without any special network - configuration, it will have 3 addresses: public ipv4, private - ipv4 and ipv6' + network details. See Network Attribute below for more details. + The device''s private and public IP (v4 and v6) network details. + When a device is run without any special network configuration, + it will have 3 addresses: public ipv4, private ipv4 and ipv6' items: properties: address: + description: IPv4 or IPv6 address string. type: string cidr: + description: CIDR suffix for IP address block to be assigned, + i.e. amount of addresses. type: number family: + description: IP version. One of 4, 6. type: number gateway: + description: Address of router. type: string public: + description: Whether the address is routable from the Internet. type: boolean type: object type: array networkType: - description: Network type of a device, used in [Layer 2 networking](https://metal.equinix.com/developers/docs/networking/layer2/). + description: (Deprecated) Network type of a device, used in Layer + 2 networking. Since this attribute is deprecated you should + handle Network Type with one of equinix_metal_port, equinix_metal_device_network_type + resources or equinix_metal_port datasource. See network_types + guide for more info. Network type of a device, used in [Layer + 2 networking](https://metal.equinix.com/developers/docs/networking/layer2/). Will be one of layer3, hybrid, hybrid-bonded, layer2-individual, layer2-bonded type: string ports: - description: Ports assigned to the device + description: List of ports assigned to the device. See Ports Attribute + below for more details. Ports assigned to the device items: properties: bonded: + description: Whether this port is part of a bond in bonded + network setup. type: boolean id: + description: The ID of the device. type: string mac: + description: MAC address assigned to the port. type: string name: + description: Name of the port (e.g. eth0, or bond0). type: string type: + description: Type of the port (e.g. NetworkPort or NetworkBondPort). type: string type: object type: array sshKeyIds: description: List of IDs of SSH keys deployed in the device, can - be both user and project SSH keys + 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 items: type: string type: array state: - description: The status of the device + description: The status of the device. The status of the device type: string updated: - description: The timestamp for the last time the device was updated + description: The timestamp for the last time the device was updated. + The timestamp for the last time the device was updated type: string type: object conditions: diff --git a/package/crds/metal.equinix.jet.crossplane.io_organizationmembers.yaml b/package/crds/metal.equinix.jet.crossplane.io_organizationmembers.yaml index 468d2a7..055f6dc 100644 --- a/package/crds/metal.equinix.jet.crossplane.io_organizationmembers.yaml +++ b/package/crds/metal.equinix.jet.crossplane.io_organizationmembers.yaml @@ -36,7 +36,7 @@ spec: schema: openAPIV3Schema: description: OrganizationMember is the Schema for the OrganizationMembers - API. + API. properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -65,14 +65,16 @@ spec: forProvider: properties: invitee: - description: The email address of the user to invite + description: The email address of the user to invite The email + address of the user to invite type: string message: - description: A message to the invitee (only used during the invitation - stage) + description: A message to include in the emailed invitation. A + message to the invitee (only used during the invitation stage) type: string organizationId: - description: The organization to invite the user to + description: The organization to invite the user to The organization + to invite the user to type: string organizationIdRef: description: Reference to a Organization to populate organizationId. @@ -149,12 +151,15 @@ spec: type: object projectsIds: description: Project IDs the member has access to within the organization. + If the member is an 'admin', the projects list should be empty. + Project IDs the member has access to within the organization. If the member is an 'owner', the projects list should be empty. items: type: string type: array roles: - description: Organization roles (owner, collaborator, limited_collaborator, + description: Organization roles (admin, collaborator, limited_collaborator, + billing) Organization roles (owner, collaborator, limited_collaborator, billing) items: type: string @@ -342,25 +347,32 @@ spec: properties: created: description: When the invitation was created (only known in the - invitation stage) + invitation stage) When the invitation was created (only known + in the invitation stage) type: string id: + description: The unique ID of the membership. type: string invitedBy: - description: The user id of the user that sent the invitation - (only known in the invitation stage) + description: The user_id of the user that sent the invitation + (only known in the invitation stage) The user id of the user + that sent the invitation (only known in the invitation stage) type: string nonce: description: The nonce for the invitation (only known in the invitation + stage) The nonce for the invitation (only known in the invitation stage) type: string state: description: The state of the membership ('invited' when an invitation - is open, 'active' when the user is an organization member) + is open, 'active' when the user is an organization member) The + state of the membership ('invited' when an invitation is open, + 'active' when the user is an organization member) type: string updated: description: When the invitation was updated (only known in the - invitation stage) + invitation stage) When the invitation was updated (only known + in the invitation stage) type: string type: object conditions: diff --git a/package/crds/metal.equinix.jet.crossplane.io_organizations.yaml b/package/crds/metal.equinix.jet.crossplane.io_organizations.yaml index 952f736..d04d461 100644 --- a/package/crds/metal.equinix.jet.crossplane.io_organizations.yaml +++ b/package/crds/metal.equinix.jet.crossplane.io_organizations.yaml @@ -35,7 +35,7 @@ spec: name: v1alpha1 schema: openAPIV3Schema: - description: Organization is the Schema for the Organizations API. + description: Organization is the Schema for the Organizations API. properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -64,24 +64,26 @@ spec: forProvider: properties: address: - description: Address information block + description: An object that has the address information. See Address + below for more details. Address information block items: properties: address: - description: Postal address + description: Postal address. Postal address type: string city: - description: City name + description: City name. City name type: string country: description: Two letter country code (ISO 3166-1 alpha-2), + e.g. US. Two letter country code (ISO 3166-1 alpha-2), e.g. US type: string state: - description: State name + description: State name. State name type: string zipCode: - description: Zip Code + description: Zip Code. Zip Code type: string required: - address @@ -91,19 +93,19 @@ spec: type: object type: array description: - description: Description string + description: Description string. Description string type: string logo: - description: Logo URL + description: Logo URL. Logo URL type: string name: - description: The name of the Organization + description: The name of the Organization. The name of the Organization type: string twitter: - description: Twitter handle + description: Twitter handle. Twitter handle type: string website: - description: Website link + description: Website link. Website link type: string required: - address @@ -286,10 +288,14 @@ spec: atProvider: properties: created: + description: The timestamp for when the organization was created. type: string id: + description: The unique ID of the organization. type: string updated: + description: The timestamp for the last time the organization + was updated. type: string type: object conditions: diff --git a/package/crds/metal.equinix.jet.crossplane.io_projectapikeys.yaml b/package/crds/metal.equinix.jet.crossplane.io_projectapikeys.yaml index b548479..7a7e3c5 100644 --- a/package/crds/metal.equinix.jet.crossplane.io_projectapikeys.yaml +++ b/package/crds/metal.equinix.jet.crossplane.io_projectapikeys.yaml @@ -35,7 +35,7 @@ spec: name: v1alpha1 schema: openAPIV3Schema: - description: ProjectAPIKey is the Schema for the ProjectAPIKeys API. + description: ProjectAPIKey is the Schema for the ProjectAPIKeys API. properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -64,10 +64,12 @@ spec: forProvider: properties: description: - description: Description string for the API key + description: Description string for the Project API Key resource. + Description string for the API key type: string projectId: - description: UUID of project which the new API key is scoped to + description: UUID of the project where the API key is scoped to. + UUID of project which the new API key is scoped to type: string projectIdRef: description: Reference to a Project to populate projectId. diff --git a/package/crds/metal.equinix.jet.crossplane.io_projects.yaml b/package/crds/metal.equinix.jet.crossplane.io_projects.yaml index f639b04..d3a9482 100644 --- a/package/crds/metal.equinix.jet.crossplane.io_projects.yaml +++ b/package/crds/metal.equinix.jet.crossplane.io_projects.yaml @@ -35,7 +35,7 @@ spec: name: v1alpha1 schema: openAPIV3Schema: - description: Project is the Schema for the Projects API. + description: Project is the Schema for the Projects API. properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -104,7 +104,8 @@ spec: type: object type: array name: - description: The name of the project + description: User-supplied name of the VRF, unique to the project + The name of the project type: string organizationId: description: The UUID of organization under which you want to diff --git a/package/crds/metal.equinix.jet.crossplane.io_projectsshkeys.yaml b/package/crds/metal.equinix.jet.crossplane.io_projectsshkeys.yaml index 6438e26..3dbc5da 100644 --- a/package/crds/metal.equinix.jet.crossplane.io_projectsshkeys.yaml +++ b/package/crds/metal.equinix.jet.crossplane.io_projectsshkeys.yaml @@ -35,7 +35,7 @@ spec: name: v1alpha1 schema: openAPIV3Schema: - description: ProjectSSHKey is the Schema for the ProjectSSHKeys API. + description: ProjectSSHKey is the Schema for the ProjectSSHKeys API. properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -64,10 +64,11 @@ spec: forProvider: properties: name: - description: The name of the SSH key for identification + description: The name of the SSH key for identification. The name + of the SSH key for identification type: string projectId: - description: The ID of parent project + description: The ID of parent project. The ID of parent project type: string projectIdRef: description: Reference to a Project to populate projectId. @@ -143,7 +144,9 @@ spec: type: object type: object publicKey: - description: The public key. If this is a file, it + description: The public key. If this is a file, it can be read + using the file interpolation function. The public key. If this + is a file, it type: string required: - name @@ -326,19 +329,23 @@ spec: atProvider: properties: created: - description: The timestamp for when the SSH key was created + description: The timestamp for when the SSH key was created. The + timestamp for when the SSH key was created type: string fingerprint: - description: The fingerprint of the SSH key + description: The fingerprint of the SSH key. The fingerprint of + the SSH key type: string id: + description: The unique ID of the key. type: string ownerId: - description: The UUID of the Equinix Metal API User who owns this - key + description: The ID of parent project (same as project_id). The + UUID of the Equinix Metal API User who owns this key type: string updated: - description: The timestamp for the last time the SSH key was updated + description: The timestamp for the last time the SSH key was updated. + The timestamp for the last time the SSH key was updated type: string type: object conditions: diff --git a/package/crds/metal.equinix.jet.crossplane.io_reservedipblocks.yaml b/package/crds/metal.equinix.jet.crossplane.io_reservedipblocks.yaml index 48f06d8..869ed8f 100644 --- a/package/crds/metal.equinix.jet.crossplane.io_reservedipblocks.yaml +++ b/package/crds/metal.equinix.jet.crossplane.io_reservedipblocks.yaml @@ -35,8 +35,7 @@ spec: name: v1alpha1 schema: openAPIV3Schema: - description: ReservedIPBlock is the Schema for the ReservedIPBlocks API. + description: ReservedIPBlock is the Schema for the ReservedIPBlocks API. properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -65,34 +64,48 @@ spec: forProvider: properties: cidr: - description: the size of the network to reserve from an existing - vrf ip_range. `cidr` can only be specified with `vrf_id`. Minimum - range is 22-29, with 30-31 supported and necessary for virtual-circuits + description: Only valid as an argument and required when type + is vrf. The size of the network to reserve from an existing + VRF ip_range. cidr can only be specified with vrf_id. Range + is 22-31. Virtual Circuits require 30-31. Other VRF resources + must use a CIDR in the 22-29 range. the size of the network + to reserve from an existing vrf ip_range. `cidr` can only be + specified with `vrf_id`. Minimum range is 22-29, with 30-31 + supported and necessary for virtual-circuits type: number customData: description: This may be helpful for self-managed IPAM. The object - must be valid JSON. + must be valid JSON. This may be helpful for self-managed IPAM. + The object must be valid JSON. type: string description: - description: Arbitrary description + description: Arbitrary description. Arbitrary description type: string facility: description: Facility where to allocate the public IP address - block, makes sense only for type==public_ipv4, must be empty - for type==global_ipv4, conflicts with metro + block, makes sense only if type is public_ipv4 and must be empty + if type is global_ipv4. Conflicts with metro. Facility where + to allocate the public IP address block, makes sense only for + type==public_ipv4, must be empty for type==global_ipv4, conflicts + with metro type: string metro: description: Metro where to allocate the public IP address block, - makes sense only for type==public_ipv4, must be empty for type==global_ipv4, - conflicts with facility + makes sense only if type is public_ipv4 and must be empty if + type is global_ipv4. Conflicts with facility. Metro where to + allocate the public IP address block, makes sense only for type==public_ipv4, + must be empty for type==global_ipv4, conflicts with facility type: string network: - description: an unreserved network address from an existing vrf - ip_range. `network` can only be specified with vrf_id + description: Only valid as an argument and required when type + is vrf. An unreserved network address from an existing ip_range + in the specified VRF. an unreserved network address from an + existing vrf ip_range. `network` can only be specified with + vrf_id type: string projectId: description: The metal project ID where to allocate the address - block + block. The metal project ID where to allocate the address block type: string projectIdRef: description: Reference to a Project to populate projectId. @@ -169,19 +182,23 @@ spec: type: object quantity: description: The number of allocated /32 addresses, a power of - 2 + 2. Required when type is not vrf. The number of allocated /32 + addresses, a power of 2 type: number tags: - description: Tags attached to the reserved block + description: String list of tags. Tags attached to the reserved + block items: type: string type: array type: - description: Either global_ipv4, public_ipv4, or vrf. Defaults - to public_ipv4. + description: One of global_ipv4, public_ipv4, or vrf. Defaults + to public_ipv4 for backward compatibility. Either global_ipv4, + public_ipv4, or vrf. Defaults to public_ipv4. type: string vrfId: - description: VRF ID for type=vrf reservations + description: Only valid and required when type is vrf. VRF ID + for type=vrf reservations. VRF ID for type=vrf reservations type: string vrfIdRef: description: Reference to a Vrf to populate vrfId. @@ -258,10 +275,14 @@ spec: type: object waitForState: description: 'Wait for the IP reservation block to reach a desired - state on resource creation. One of: `pending`, `created`. The - `created` state is default and recommended if the addresses - are needed within the configuration. An error will be returned - if a timeout or the `denied` state is encountered.' + state on resource creation. One of: pending, created. The created + state is default and recommended if the addresses are needed + within the configuration. An error will be returned if a timeout + or the denied state is encountered. Wait for the IP reservation + block to reach a desired state on resource creation. One of: + `pending`, `created`. The `created` state is default and recommended + if the addresses are needed within the configuration. An error + will be returned if a timeout or the `denied` state is encountered.' type: string type: object providerConfigRef: @@ -443,28 +464,33 @@ spec: address: type: string addressFamily: - description: Address family as integer (4 or 6) + description: Address family as integer. One of 4 or 6. Address + family as integer (4 or 6) type: number cidrNotation: + description: Address and mask in CIDR notation, e.g. 147.229.15.30/31. type: string gateway: type: string global: - description: Flag indicating whether IP block is global, i.e. - assignable in any location + description: Boolean flag whether addresses from a block are global + (i.e. can be assigned in any facility). Flag indicating whether + IP block is global, i.e. assignable in any location type: boolean id: + description: The unique ID of the block. type: string manageable: type: boolean management: type: boolean netmask: - description: Mask in decimal notation, e.g. 255.255.255.0 + description: Mask in decimal notation, e.g. 255.255.255.0. Mask + in decimal notation, e.g. 255.255.255.0 type: string public: - description: Flag indicating whether IP block is addressable from - the Internet + description: Boolean flag whether addresses from a block are public. + Flag indicating whether IP block is addressable from the Internet type: boolean type: object conditions: diff --git a/package/crds/metal.equinix.jet.crossplane.io_spotmarketrequests.yaml b/package/crds/metal.equinix.jet.crossplane.io_spotmarketrequests.yaml index 50f00d2..433a2e2 100644 --- a/package/crds/metal.equinix.jet.crossplane.io_spotmarketrequests.yaml +++ b/package/crds/metal.equinix.jet.crossplane.io_spotmarketrequests.yaml @@ -36,7 +36,6 @@ spec: schema: openAPIV3Schema: description: SpotMarketRequest is the Schema for the SpotMarketRequests API. - properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -65,20 +64,28 @@ spec: forProvider: properties: devicesMax: - description: Maximum number devices to be created + description: Maximum number devices to be created. Maximum number + devices to be created type: number devicesMin: - description: Miniumum number devices to be created + description: Miniumum number devices to be created. Miniumum number + devices to be created type: number facilities: - description: Facility IDs where devices should be created + description: Facility IDs where devices should be created. Facility + IDs where devices should be created items: type: string type: array instanceParameters: - description: Parameters for devices provisioned from this request. - You can find the parameter description from the [equinix_metal_device - doc](device.md) + description: 'Key/Value pairs of parameters for devices provisioned + from this request. Valid keys are: billing_cycle, plan, operating_system, + hostname, termintation_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: @@ -98,6 +105,8 @@ spec: ipxeScriptUrl: type: string locked: + description: Blocks deletion of the SpotMarketRequest device + until the lock is disabled. type: boolean operatingSystem: type: string @@ -126,13 +135,14 @@ spec: type: array maxBidPrice: description: Maximum price user is willing to pay per hour per - device + device. Maximum price user is willing to pay per hour per device type: number metro: - description: Metro where devices should be created + description: Metro where devices should be created. Metro where + devices should be created type: string projectId: - description: Project ID + description: Project ID. Project ID type: string projectIdRef: description: Reference to a Project to populate projectId. @@ -208,9 +218,10 @@ spec: type: object type: object waitForDevices: - description: On resource creation - wait until all desired devices - are active, on resource destruction - wait until devices are - removed + description: On resource creation wait until all desired devices + are active. On resource destruction wait until devices are removed. + On resource creation - wait until all desired devices are active, + on resource destruction - wait until devices are removed type: boolean required: - devicesMax @@ -395,11 +406,17 @@ spec: atProvider: properties: id: + description: The ID of the Spot Market Request. type: string instanceParameters: - description: Parameters for devices provisioned from this request. - You can find the parameter description from the [equinix_metal_device - doc](device.md) + description: 'Key/Value pairs of parameters for devices provisioned + from this request. Valid keys are: billing_cycle, plan, operating_system, + hostname, termintation_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: termintationTime: diff --git a/package/crds/metal.equinix.jet.crossplane.io_sshkeys.yaml b/package/crds/metal.equinix.jet.crossplane.io_sshkeys.yaml index 535bf13..8fe83c5 100644 --- a/package/crds/metal.equinix.jet.crossplane.io_sshkeys.yaml +++ b/package/crds/metal.equinix.jet.crossplane.io_sshkeys.yaml @@ -35,7 +35,7 @@ spec: name: v1alpha1 schema: openAPIV3Schema: - description: SSHKey is the Schema for the SSHKeys API. + description: SSHKey is the Schema for the SSHKeys API. properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -64,10 +64,13 @@ spec: forProvider: properties: name: - description: The name of the SSH key for identification + description: The name of the SSH key for identification The name + of the SSH key for identification type: string publicKey: - description: The public key. If this is a file, it + description: The public key. If this is a file, it can be read + using the file interpolation function The public key. If this + is a file, it type: string required: - name @@ -250,19 +253,23 @@ spec: atProvider: properties: created: - description: The timestamp for when the SSH key was created + description: The timestamp for when the SSH key was created. The + timestamp for when the SSH key was created type: string fingerprint: - description: The fingerprint of the SSH key + description: The fingerprint of the SSH key. The fingerprint of + the SSH key type: string id: + description: The unique ID of the key. type: string ownerId: description: The UUID of the Equinix Metal API User who owns this - key + key. The UUID of the Equinix Metal API User who owns this key type: string updated: - description: The timestamp for the last time the SSH key was updated + description: The timestamp for the last time the SSH key was updated. + The timestamp for the last time the SSH key was updated type: string type: object conditions: diff --git a/package/crds/metal.equinix.jet.crossplane.io_userapikeys.yaml b/package/crds/metal.equinix.jet.crossplane.io_userapikeys.yaml index bcec815..a7ec488 100644 --- a/package/crds/metal.equinix.jet.crossplane.io_userapikeys.yaml +++ b/package/crds/metal.equinix.jet.crossplane.io_userapikeys.yaml @@ -35,7 +35,7 @@ spec: name: v1alpha1 schema: openAPIV3Schema: - description: UserAPIKey is the Schema for the UserAPIKeys API. + description: UserAPIKey is the Schema for the UserAPIKeys API. properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -64,7 +64,8 @@ spec: forProvider: properties: description: - description: Description string for the API key + description: Description string for the User API Key resource. + Description string for the API key type: string readOnly: description: Flag indicating whether the API key shoud be read-only @@ -252,7 +253,8 @@ spec: id: type: string userId: - description: UUID of user owning this key + description: UUID of the owner of the API key. UUID of user owning + this key type: string type: object conditions: diff --git a/package/crds/metal.equinix.jet.crossplane.io_vlans.yaml b/package/crds/metal.equinix.jet.crossplane.io_vlans.yaml index d68ac2f..da47316 100644 --- a/package/crds/metal.equinix.jet.crossplane.io_vlans.yaml +++ b/package/crds/metal.equinix.jet.crossplane.io_vlans.yaml @@ -35,7 +35,7 @@ spec: name: v1alpha1 schema: openAPIV3Schema: - description: Vlan is the Schema for the Vlans API. + description: Vlan is the Schema for the Vlans API. properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -64,15 +64,16 @@ spec: forProvider: properties: description: - description: Description string + description: Description string. Description string type: string facility: - description: Facility where to create the VLAN + description: Facility where to create the VLAN. Facility where + to create the VLAN type: string metro: type: string projectId: - description: ID of parent project + description: ID of parent project. ID of parent project type: string projectIdRef: description: Reference to a Project to populate projectId. @@ -148,7 +149,8 @@ spec: type: object type: object vxlan: - description: VLAN ID, must be unique in metro + description: VLAN ID, must be unique in metro. VLAN ID, must be + unique in metro type: number type: object providerConfigRef: @@ -328,6 +330,7 @@ spec: atProvider: properties: id: + description: ID of the virtual network. type: string type: object conditions: diff --git a/package/crds/network.equinix.jet.crossplane.io_acltemplates.yaml b/package/crds/network.equinix.jet.crossplane.io_acltemplates.yaml index c8002ee..39d4fc3 100644 --- a/package/crds/network.equinix.jet.crossplane.io_acltemplates.yaml +++ b/package/crds/network.equinix.jet.crossplane.io_acltemplates.yaml @@ -35,7 +35,7 @@ spec: name: v1alpha1 schema: openAPIV3Schema: - description: ACLTemplate is the Schema for the ACLTemplates API. + description: ACLTemplate is the Schema for the ACLTemplates API. properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -64,34 +64,47 @@ spec: forProvider: properties: description: - description: ACL template description, up to 200 characters + description: ACL template description, up to 200 characters. ACL + template description, up to 200 characters type: string inboundRule: description: One or more rules to specify allowed inbound traffic. + Rules are ordered, matching traffic rule stops processing subsequent + ones. One or more rules to specify allowed inbound traffic. Rules are ordered, matching traffic rule stops processing subsequent ones. items: properties: description: - description: Inbound rule description, up to 200 characters + description: Inbound rule description, up to 200 characters. + Inbound rule description, up to 200 characters type: string dstPort: - description: Inbound traffic destination ports. Either up - to 10, comma separated ports or port range or any word + description: Inbound traffic destination ports. Allowed + values are a comma separated list of ports, e.g., 20,22,23, + port range, e.g., 1023-1040 or word any. Inbound traffic + destination ports. Either up to 10, comma separated ports + or port range or any word type: string protocol: - description: 'Inbound traffic protocol. One of: `IP`, `TCP`, - `UDP`' + description: 'Inbound traffic protocol. One of IP, TCP, + UDP. Inbound traffic protocol. One of: `IP`, `TCP`, `UDP`' type: string srcPort: - description: Inbound traffic source ports. Either up to - 10, comma separated ports or port range or any word + description: Inbound traffic source ports. Allowed values + are a comma separated list of ports, e.g., 20,22,23, port + range, e.g., 1023-1040 or word any. Inbound traffic source + ports. Either up to 10, comma separated ports or port + range or any word type: string subnet: - description: Inbound traffic source IP subnet in CIDR format + description: Inbound traffic source IP subnet in CIDR format. + Inbound traffic source IP subnet in CIDR format type: string subnets: - description: Inbound traffic source IP subnets in CIDR format + description: (Deprecated) Inbound traffic source IP subnets + in CIDR format. Inbound traffic source IP subnets in CIDR + format items: type: string type: array @@ -102,10 +115,11 @@ spec: type: object type: array metroCode: - description: ACL template location metro code + description: (Deprecated) ACL template location metro code. ACL + template location metro code type: string name: - description: ACL template name + description: ACL template name. ACL template name type: string required: - inboundRule @@ -288,30 +302,39 @@ spec: atProvider: properties: deviceAclStatus: - description: Status of ACL template provisioning process on a - device, where template was applied + description: Status of ACL template provisioning process, where + template was applied. One of PROVISIONING, PROVISIONED. Status + of ACL template provisioning process on a device, where template + was applied type: string deviceDetails: - description: Device Details to which ACL template is assigned - to. + description: List of the devices where the ACL template is applied. + Device Details to which ACL template is assigned to. items: properties: aclStatus: + description: Device ACL provisioning status where template + was applied. One of PROVISIONING, PROVISIONED. type: string name: + description: Device name. type: string uuid: + description: Device uuid. type: string type: object type: array deviceId: - description: Identifier of a network device where template was - applied + description: (Deprecated) Identifier of a network device where + template was applied. Identifier of a network device where template + was applied type: string id: type: string inboundRule: description: One or more rules to specify allowed inbound traffic. + Rules are ordered, matching traffic rule stops processing subsequent + ones. One or more rules to specify allowed inbound traffic. Rules are ordered, matching traffic rule stops processing subsequent ones. items: @@ -326,7 +349,8 @@ spec: type: object type: array uuid: - description: Unique identifier of ACL template resource + description: Unique identifier of ACL template resource. Unique + identifier of ACL template resource type: string type: object conditions: diff --git a/package/crds/network.equinix.jet.crossplane.io_bgps.yaml b/package/crds/network.equinix.jet.crossplane.io_bgps.yaml index c96c425..73f726a 100644 --- a/package/crds/network.equinix.jet.crossplane.io_bgps.yaml +++ b/package/crds/network.equinix.jet.crossplane.io_bgps.yaml @@ -35,7 +35,7 @@ spec: name: v1alpha1 schema: openAPIV3Schema: - description: BGP is the Schema for the BGPs API. + description: BGP is the Schema for the BGPs API. properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -64,7 +64,8 @@ spec: forProvider: properties: authenticationKeySecretRef: - description: Shared key used for BGP peer authentication + description: shared key used for BGP peer authentication. Shared + key used for BGP peer authentication properties: key: description: The key to select. @@ -81,20 +82,23 @@ spec: - namespace type: object connectionId: - description: Identifier of a connection established between network - device and remote service provider that will be used for peering + description: identifier of a connection established between. network + device and remote service provider that will be used for peering. + Identifier of a connection established between network device + and remote service provider that will be used for peering type: string localAsn: - description: Local ASN number + description: Local ASN number. Local ASN number type: number localIpAddress: - description: IP address in CIDR format of a local device + description: IP address in CIDR format of a local device. IP address + in CIDR format of a local device type: string remoteAsn: - description: Remote ASN number + description: Remote ASN number. Remote ASN number type: number remoteIpAddress: - description: IP address of remote peer + description: IP address of remote peer. IP address of remote peer type: string required: - connectionId @@ -280,19 +284,25 @@ spec: atProvider: properties: deviceId: - description: Unique identifier of a network device that is a local - peer in a given BGP peering configuration + description: unique identifier of a network device that is a local + peer in a given BGP peering configuration. Unique identifier + of a network device that is a local peer in a given BGP peering + configuration type: string id: type: string provisioningStatus: - description: BGP peering configuration provisioning status + description: BGP peering configuration provisioning status, one + of PROVISIONING, PENDING_UPDATE, PROVISIONED, FAILED. BGP peering + configuration provisioning status type: string state: - description: BGP peer state + description: BGP peer state, one of Idle, Connect, Active, OpenSent, + OpenConfirm, Established. BGP peer state type: string uuid: - description: BGP peering configuration unique identifier + description: BGP peering configuration unique identifier. BGP + peering configuration unique identifier type: string type: object conditions: diff --git a/package/crds/network.equinix.jet.crossplane.io_devicelinks.yaml b/package/crds/network.equinix.jet.crossplane.io_devicelinks.yaml index b45db72..269e164 100644 --- a/package/crds/network.equinix.jet.crossplane.io_devicelinks.yaml +++ b/package/crds/network.equinix.jet.crossplane.io_devicelinks.yaml @@ -35,7 +35,7 @@ spec: name: v1alpha1 schema: openAPIV3Schema: - description: DeviceLink is the Schema for the DeviceLinks API. + description: DeviceLink is the Schema for the DeviceLinks API. properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -64,47 +64,59 @@ spec: forProvider: properties: device: + description: definition of one or more devices belonging to the + device link. See Device section below for more details. items: properties: asn: - description: Device ASN number + description: Device ASN number. Not required for self configured + devices. Device ASN number type: number id: - description: Device identifier + description: Device identifier. Device identifier type: string interfaceId: description: Device network interface identifier to use - for device link connection + for device link connection. Device network interface identifier + to use for device link connection type: number required: - id type: object type: array link: - description: link + description: definition of one or more, inter metro, connections + belonging to the device link. See Link section below for more + details. link items: properties: accountNumber: - description: Billing account number to be used for connection + description: billing account number to be used for connection + charges Billing account number to be used for connection charges type: string dstMetroCode: - description: Connection destination metro code + description: connection destination metro code. Connection + destination metro code type: string dstZoneCode: - description: Connection destination zone code + description: (Deprecated) connection destination zone code + is not required. Connection destination zone code type: string srcMetroCode: - description: Connection source metro code + description: connection source metro code. Connection source + metro code type: string srcZoneCode: - description: Connection source zone code + description: (Deprecated) connection source zone code is + not required. Connection source zone code type: string throughput: - description: Connection throughput + description: connection throughput. Connection throughput type: string throughputUnit: - description: Connection throughput unit + description: connection throughput unit (Mbps or Gbps). + Connection throughput unit type: string required: - accountNumber @@ -115,10 +127,11 @@ spec: type: object type: array name: - description: name + description: device link name. name type: string subnet: - description: subnet + description: device link subnet in CIDR format. Not required for + link between self configured devices. subnet type: string required: - device @@ -301,23 +314,34 @@ spec: atProvider: properties: device: + description: definition of one or more devices belonging to the + device link. See Device section below for more details. items: properties: ipAddress: - description: Assigned IP address from device link subnet + description: IP address from device link subnet that was + assigned to the device Assigned IP address from device + link subnet type: string status: - description: Device link connection provisioning status + description: device link provisioning status on a given + device. One of PROVISIONING, PROVISIONED, DEPROVISIONING, + DEPROVISIONED, FAILED. Device link connection provisioning + status type: string type: object type: array id: + description: Device identifier. type: string status: - description: Device link provisioning status + description: Device link provisioning status. One of PROVISIONING, + PROVISIONED, DEPROVISIONING, DEPROVISIONED, FAILED. Device link + provisioning status type: string uuid: - description: Device link unique identifier + description: Device link unique identifier. Device link unique + identifier type: string type: object conditions: diff --git a/package/crds/network.equinix.jet.crossplane.io_devices.yaml b/package/crds/network.equinix.jet.crossplane.io_devices.yaml index d37fb5c..3977dfe 100644 --- a/package/crds/network.equinix.jet.crossplane.io_devices.yaml +++ b/package/crds/network.equinix.jet.crossplane.io_devices.yaml @@ -35,7 +35,7 @@ spec: name: v1alpha1 schema: openAPIV3Schema: - description: Device is the Schema for the Devices API. + description: Device is the Schema for the Devices API. properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -64,33 +64,45 @@ spec: forProvider: properties: accountNumber: - description: Device billing account number + description: Billing account number for a device. Device billing + account number type: string aclTemplateId: - description: Unique identifier of applied ACL template + description: Identifier of an 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 + 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: - bring your own license or subscription (default)' + 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 clusterDetails: - description: An object that has the cluster details + 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 + description: The name of the cluster device The name of + the cluster device type: string node0: - description: An object that has node0 details + description: An object that has node0 configuration. See + Cluster Details - Nodes below for more details. An object + that has node0 details items: properties: licenseFileIdSecretRef: description: License file id. This is necessary for - Fortinet and Juniper clusters + Fortinet and Juniper clusters. License file id. + This is necessary for Fortinet and Juniper clusters properties: key: description: The key to select. @@ -108,7 +120,8 @@ spec: type: object licenseTokenSecretRef: description: License token. This is necessary for - Palo Alto clusters + Palo Alto clusters. License token. This is necessary + for Palo Alto clusters properties: key: description: The key to select. @@ -126,12 +139,16 @@ spec: type: object vendorConfiguration: description: An object that has fields relevant to - the vendor of the cluster device + 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 + for Velocloud clusters. Activation key. This + is required for Velocloud clusters properties: key: description: The key to select. @@ -151,7 +168,10 @@ spec: 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 + 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. @@ -169,18 +189,25 @@ spec: type: object controller1: description: System IP Address. Mandatory for - the Fortinet SDWAN cluster device + 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 + 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 + Palo Alto, Juniper, and Fortinet clusters. + Hostname. This is necessary for Palo Alto, + Juniper, and Fortinet clusters 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: @@ -203,12 +230,15 @@ spec: type: object type: array node1: - description: An object that has node1 details + description: An object that has node1 configuration. See + Cluster Details - Nodes below for more details. An object + that has node1 details items: properties: licenseFileIdSecretRef: - description: License file id. This is necessary for - Fortinet and Juniper clusters + description: Unique identifier of applied license + file. License file id. This is necessary for Fortinet + and Juniper clusters properties: key: description: The key to select. @@ -225,8 +255,9 @@ spec: - namespace type: object licenseTokenSecretRef: - description: License token. This is necessary for - Palo Alto clusters + 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. @@ -243,13 +274,17 @@ spec: - namespace type: object vendorConfiguration: - description: An object that has fields relevant to - the vendor of the cluster device + description: Map of vendor specific configuration + parameters for a device (controller1, activationKey, + managementType, siteId, systemIpAddress) 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 + for Velocloud clusters. Activation key. This + is required for Velocloud clusters properties: key: description: The key to select. @@ -269,7 +304,10 @@ spec: 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 + 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. @@ -287,18 +325,24 @@ spec: type: object controller1: description: System IP Address. Mandatory for - the Fortinet SDWAN cluster device + 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 + 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 + description: Secondary device hostname. Hostname. + This is necessary for Palo Alto, Juniper, + and Fortinet clusters 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: @@ -327,88 +371,113 @@ spec: type: object type: array coreCount: - description: Number of CPU cores used by device + description: Number of CPU cores used by device. Number of CPU + cores used by device type: number hostname: - description: Device hostname prefix + 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 + 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 + applied on a device. Applicable for some devices 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 licenseToken: description: License Token applicable for some device types in - BYOL licensing mode + BYOL licensing mode. License Token applicable for some device + types in BYOL licensing mode type: string metroCode: - description: Device location metro code + description: Device location metro code. Device location metro + code type: string mgmtAclTemplateUuid: - description: Unique identifier of applied MGMT ACL template + 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 + description: Device name. Device name type: string notifications: description: List of email addresses that will receive device - status notifications + status notifications. List of email addresses that will receive + device status notifications items: type: string type: array orderReference: description: Name/number used to identify device order on the - invoice + invoice. Name/number used to identify device order on the invoice type: string packageCode: - description: Device software package code + description: Device software package code. Device software package + code type: string purchaseOrderNumber: - description: Purchase order number associated with a device order + 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 applicable for HA - setup + 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: Device billing account number + description: Billing account number for secondary device. + Device billing account number type: string aclTemplateId: - description: Unique identifier of applied ACL template + 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, that - will be allocated to the device + description: Additional Internet bandwidth, in Mbps, for + a secondary device. Additional Internet bandwidth, in + Mbps, that will be allocated to the device type: number hostname: - description: Device hostname prefix + description: Secondary device hostname. Device hostname + prefix type: string 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 + and applied on a secondary device. Applicable for some + devices 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 licenseToken: - description: License Token applicable for some device types - in BYOL licensing mode + 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: Device location metro code + description: Metro location of a secondary device. Device + location metro code type: string mgmtAclTemplateUuid: - description: Unique identifier of applied MGMT ACL template + 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 + description: Secondary device name. Device name type: string notifications: - description: List of email addresses that will receive device - status 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 @@ -418,11 +487,12 @@ spec: items: properties: keyName: - description: Reference by name to previously provisioned - public SSH key + description: Device name. Reference by name to previously + provisioned public SSH key type: string username: - description: Username associated with given key + description: username associated with given key. Username + associated with given key type: string required: - keyName @@ -432,12 +502,16 @@ spec: vendorConfiguration: additionalProperties: type: string - description: Map of vendor specific configuration parameters - for a device (controller1, activationKey, managementType, - siteId, systemIpAddress) + description: Key/Value pairs of vendor specific configuration + parameters for a secondary device. Key values are controller1, + activationKey, managementType, siteId, systemIpAddress. + Map of vendor specific configuration parameters for a + device (controller1, activationKey, managementType, siteId, + systemIpAddress) type: object wanInterfaceId: - description: device interface id picked for WAN + description: interface identifier. device interface id picked + for WAN type: string required: - accountNumber @@ -448,7 +522,9 @@ spec: type: array selfManaged: description: 'Boolean value that determines device management - mode: self-managed or subscription (default)' + 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 @@ -456,11 +532,12 @@ spec: items: properties: keyName: - description: Reference by name to previously provisioned - public SSH key + description: Device name. Reference by name to previously + provisioned public SSH key type: string username: - description: Username associated with given key + description: username associated with given key. Username + associated with given key type: string required: - keyName @@ -468,29 +545,34 @@ spec: type: object type: array termLength: - description: Device term length + description: Device term length. Device term length type: number throughput: - description: Device license throughput + description: Device license throughput. Device license throughput type: number throughputUnit: - description: Device license throughput unit (Mbps or Gbps) + description: License throughput unit. One of Mbps or Gbps. Device + license throughput unit (Mbps or Gbps) type: string typeCode: - description: Device type code + 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) Map of vendor specific configuration parameters + for a device (controller1, activationKey, managementType, siteId, systemIpAddress) type: object version: - description: Device software software version + description: Device software software version. Device software + software version type: string wanInterfaceId: - description: device interface id picked for WAN + description: interface identifier. device interface id picked + for WAN type: string required: - accountNumber @@ -680,170 +762,238 @@ spec: atProvider: properties: asn: - description: Autonomous system number + description: (Autonomous System Number) Unique identifier for + a network on the internet. Autonomous system number type: number clusterDetails: - description: An object that has the cluster details + 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 + description: The ID of the cluster. The id of the cluster type: string node0: - description: An object that has node0 details + description: An object that has node0 configuration. See + Cluster Details - Nodes below for more details. An object + that has node0 details items: properties: name: - description: The name of the node + description: reference by name to previously provisioned + public SSH key. The name of the node type: string uuid: - description: The unique id of the node + description: Device unique identifier. The unique + id of the node type: string type: object type: array node1: - description: An object that has node1 details + description: An object that has node1 configuration. See + Cluster Details - Nodes below for more details. An object + that has node1 details items: properties: name: - description: The name of the node + description: reference by name to previously provisioned + public SSH key. The name of the node type: string uuid: - description: The unique id of the node + description: Device unique identifier. The unique + id of the node type: string type: object type: array numOfNodes: - description: The number of nodes in the cluster + description: The number of nodes in the cluster. The number + of nodes in the cluster type: number type: object type: array ibx: - description: Device location Equinix Business Exchange name + description: Device location Equinix Business Exchange name. Device + location Equinix Business Exchange name type: string id: + description: interface identifier. type: string interface: - description: List of device interfaces + 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. type: string type: + description: interface type. type: string type: object type: array licenseFileId: - description: Unique identifier of applied license file + description: Unique identifier of applied license file. Unique + identifier of applied license file type: string licenseStatus: - description: Device license registration status + description: Device license registration status. Possible values + are APPLYING_LICENSE, REGISTERED, APPLIED, WAITING_FOR_CLUSTER_SETUP, + REGISTRATION_FAILED. Device license registration status type: string redundancyType: description: Device redundancy type applicable for HA devices, - either primary or secondary + 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 + 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 + description: Device location region. Device location region type: string secondaryDevice: - description: Definition of secondary device applicable for HA - setup + 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: asn: - description: Autonomous system number + description: (Autonomous System Number) Unique identifier + for a network on the internet. Autonomous system number type: number ibx: - description: Device location Equinix Business Exchange name + description: Device location Equinix Business Exchange name. + Device location Equinix Business Exchange name type: string interface: - description: List of device interfaces + 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. type: string type: + description: interface type. type: string type: object type: array licenseFileId: - description: Unique identifier of applied license file + description: Unique identifier of applied license file. + Unique identifier of applied license file type: string licenseStatus: - description: Device license registration status + description: Device license registration status. Possible + values are APPLYING_LICENSE, REGISTERED, APPLIED, WAITING_FOR_CLUSTER_SETUP, + REGISTRATION_FAILED. Device license registration status type: string redundancyType: description: Device redundancy type applicable for HA devices, - either primary or secondary + 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 device + 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 + description: Device location region. Device location region type: string sshIpAddress: description: IP address of SSH enabled interface on the - device + device. IP address of SSH enabled interface on the device type: string sshIpFqdn: - description: FQDN of SSH enabled interface on the device + description: FQDN of SSH enabled interface on the device. + FQDN of SSH enabled interface on the device type: string status: - description: Device provisioning 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. Device + provisioning status type: string uuid: - description: Device unique identifier + description: Device unique identifier. Device unique identifier type: string zoneCode: - description: Device location zone code + description: Device location zone code. Device location + zone code type: string type: object type: array sshIpAddress: - description: IP address of SSH enabled interface on the device + 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 + description: FQDN of SSH enabled interface on the device. FQDN + of SSH enabled interface on the device type: string status: - description: Device provisioning 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. Device provisioning status type: string uuid: - description: Device unique identifier + description: Device unique identifier. Device unique identifier type: string zoneCode: - description: Device location zone code + description: Device location zone code. Device location zone code type: string type: object conditions: diff --git a/package/crds/network.equinix.jet.crossplane.io_sshkeys.yaml b/package/crds/network.equinix.jet.crossplane.io_sshkeys.yaml index 946e9f5..5734ca6 100644 --- a/package/crds/network.equinix.jet.crossplane.io_sshkeys.yaml +++ b/package/crds/network.equinix.jet.crossplane.io_sshkeys.yaml @@ -35,7 +35,7 @@ spec: name: v1alpha1 schema: openAPIV3Schema: - description: SSHKey is the Schema for the SSHKeys API. + description: SSHKey is the Schema for the SSHKeys API. properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -64,11 +64,14 @@ spec: forProvider: properties: name: - description: The name of SSH key used for identification + description: The name of SSH key used for identification. The + name of SSH key used for identification type: string publicKey: description: The SSH public key. If this is a file, it can be - read using the file interpolation function + read using the file interpolation function. The SSH public key. + If this is a file, it can be read using the file interpolation + function type: string required: - name @@ -253,7 +256,8 @@ spec: id: type: string uuid: - description: The unique identifier of the key + description: The unique identifier of the key The unique identifier + of the key type: string type: object conditions: diff --git a/package/crds/network.equinix.jet.crossplane.io_sshusers.yaml b/package/crds/network.equinix.jet.crossplane.io_sshusers.yaml index 1dbdfef..dd09e8a 100644 --- a/package/crds/network.equinix.jet.crossplane.io_sshusers.yaml +++ b/package/crds/network.equinix.jet.crossplane.io_sshusers.yaml @@ -35,7 +35,7 @@ spec: name: v1alpha1 schema: openAPIV3Schema: - description: SSHUser is the Schema for the SSHUsers API. + description: SSHUser is the Schema for the SSHUsers API. properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -65,12 +65,12 @@ spec: properties: deviceIds: description: list of device identifiers to which user will have - access + access. list of device identifiers to which user will have access items: type: string type: array passwordSecretRef: - description: SSH user password + description: SSH user password. SSH user password properties: key: description: The key to select. @@ -87,7 +87,7 @@ spec: - namespace type: object username: - description: SSH user login name + description: SSH user login name. SSH user login name type: string required: - deviceIds @@ -273,7 +273,7 @@ spec: id: type: string uuid: - description: SSH user unique identifier + description: SSH user unique identifier. SSH user unique identifier type: string type: object conditions: