diff --git a/.gitmodules b/.gitmodules index c2fad47..8f84209 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ [submodule "build"] path = build - url = https://github.com/upbound/build + url = https://github.com/crossplane/build diff --git a/Makefile b/Makefile index 2160f20..42759f7 100644 --- a/Makefile +++ b/Makefile @@ -4,14 +4,14 @@ PROJECT_NAME ?= provider-ovh PROJECT_REPO ?= github.com/edixos/$(PROJECT_NAME) -export TERRAFORM_VERSION ?= 1.2.1 +export TERRAFORM_VERSION ?= 1.8.1 export TERRAFORM_PROVIDER_SOURCE ?= ovh/ovh export TERRAFORM_PROVIDER_REPO ?= https://github.com/ovh/terraform-provider-ovh -export TERRAFORM_PROVIDER_VERSION ?= 0.40.0 +export TERRAFORM_PROVIDER_VERSION ?= 0.48.0 export TERRAFORM_PROVIDER_DOWNLOAD_NAME ?= terraform-provider-ovh export TERRAFORM_PROVIDER_DOWNLOAD_URL_PREFIX ?= https://releases.hashicorp.com/$(TERRAFORM_PROVIDER_DOWNLOAD_NAME)/$(TERRAFORM_PROVIDER_VERSION) -export TERRAFORM_NATIVE_PROVIDER_BINARY ?= terraform-provider-ovh_v0.40.0 +export TERRAFORM_NATIVE_PROVIDER_BINARY ?= terraform-provider-ovh_v0.48.0 export TERRAFORM_DOCS_PATH ?= website/docs @@ -40,8 +40,8 @@ NPROCS ?= 1 # to half the number of CPU cores. GO_TEST_PARALLEL := $(shell echo $$(( $(NPROCS) / 2 ))) -GO_REQUIRED_VERSION ?= 1.19 -GOLANGCILINT_VERSION ?= 1.56.2 +GO_REQUIRED_VERSION ?= 1.22 +GOLANGCILINT_VERSION ?= 1.60.1 GO_STATIC_PACKAGES = $(GO_PROJECT)/cmd/provider $(GO_PROJECT)/cmd/generator GO_LDFLAGS += -X $(GO_PROJECT)/internal/version.Version=$(VERSION) GO_SUBDIRS += cmd internal apis @@ -51,9 +51,9 @@ GO_SUBDIRS += cmd internal apis # Setup Kubernetes tools KIND_VERSION = v0.15.0 -UP_VERSION = v0.18.0 +UP_VERSION = v0.32.1 UP_CHANNEL = stable -UPTEST_VERSION = v0.5.0 +UPTEST_VERSION = v0.13.1 -include build/makelib/k8s_tools.mk # ==================================================================================== diff --git a/apis/additionalip/v1alpha1/zz_generated.conversion_hubs.go b/apis/additionalip/v1alpha1/zz_generated.conversion_hubs.go index 4e4c666..631f160 100755 --- a/apis/additionalip/v1alpha1/zz_generated.conversion_hubs.go +++ b/apis/additionalip/v1alpha1/zz_generated.conversion_hubs.go @@ -7,10 +7,10 @@ Copyright 2022 Upbound Inc. package v1alpha1 // Hub marks this type as a conversion hub. -func (tr *ProjectFailoverIPAttach) Hub() {} +func (tr *Move) Hub() {} // Hub marks this type as a conversion hub. -func (tr *Move) Hub() {} +func (tr *ProjectFailoverIPAttach) Hub() {} // Hub marks this type as a conversion hub. func (tr *Reverse) Hub() {} diff --git a/apis/additionalip/v1alpha1/zz_generated.deepcopy.go b/apis/additionalip/v1alpha1/zz_generated.deepcopy.go index 4f5c24e..25a655f 100644 --- a/apis/additionalip/v1alpha1/zz_generated.deepcopy.go +++ b/apis/additionalip/v1alpha1/zz_generated.deepcopy.go @@ -1309,6 +1309,11 @@ func (in *ServiceInitParameters) DeepCopyInto(out *ServiceInitParameters) { *out = new(string) **out = **in } + if in.Order != nil { + in, out := &in.Order, &out.Order + *out = make([]OrderInitParameters, len(*in)) + copy(*out, *in) + } if in.OvhSubsidiary != nil { in, out := &in.OvhSubsidiary, &out.OvhSubsidiary *out = new(string) @@ -1478,6 +1483,11 @@ func (in *ServiceParameters) DeepCopyInto(out *ServiceParameters) { *out = new(string) **out = **in } + if in.Order != nil { + in, out := &in.Order, &out.Order + *out = make([]OrderParameters, len(*in)) + copy(*out, *in) + } if in.OvhSubsidiary != nil { in, out := &in.OvhSubsidiary, &out.OvhSubsidiary *out = new(string) diff --git a/apis/additionalip/v1alpha1/zz_move_types.go b/apis/additionalip/v1alpha1/zz_move_types.go index 6d49f98..4ecb68c 100755 --- a/apis/additionalip/v1alpha1/zz_move_types.go +++ b/apis/additionalip/v1alpha1/zz_move_types.go @@ -114,8 +114,8 @@ type MoveStatus struct { // +kubebuilder:storageversion // Move is the Schema for the Moves 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/additionalip/v1alpha1/zz_projectfailoveripattach_types.go b/apis/additionalip/v1alpha1/zz_projectfailoveripattach_types.go index 238e9c0..5ff57a0 100755 --- a/apis/additionalip/v1alpha1/zz_projectfailoveripattach_types.go +++ b/apis/additionalip/v1alpha1/zz_projectfailoveripattach_types.go @@ -121,8 +121,8 @@ type ProjectFailoverIPAttachStatus struct { // +kubebuilder:storageversion // ProjectFailoverIPAttach is the Schema for the ProjectFailoverIPAttachs 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/additionalip/v1alpha1/zz_reverse_types.go b/apis/additionalip/v1alpha1/zz_reverse_types.go index f848890..1dd91b1 100755 --- a/apis/additionalip/v1alpha1/zz_reverse_types.go +++ b/apis/additionalip/v1alpha1/zz_reverse_types.go @@ -71,8 +71,8 @@ type ReverseStatus struct { // +kubebuilder:storageversion // Reverse is the Schema for the Reverses 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/additionalip/v1alpha1/zz_service_types.go b/apis/additionalip/v1alpha1/zz_service_types.go index ec317ab..e9515d3 100755 --- a/apis/additionalip/v1alpha1/zz_service_types.go +++ b/apis/additionalip/v1alpha1/zz_service_types.go @@ -62,12 +62,17 @@ type OrderInitParameters struct { } type OrderObservation struct { + + // date Date *string `json:"date,omitempty" tf:"date,omitempty"` + // Information about a Bill entry Details []DetailsObservation `json:"details,omitempty" tf:"details,omitempty"` + // expiration date ExpirationDate *string `json:"expirationDate,omitempty" tf:"expiration_date,omitempty"` + // order id OrderID *float64 `json:"orderId,omitempty" tf:"order_id,omitempty"` } @@ -226,6 +231,9 @@ type ServiceInitParameters struct { // Custom description on your ip Description *string `json:"description,omitempty" tf:"description,omitempty"` + // Details about an Order + Order []OrderInitParameters `json:"order,omitempty" tf:"order,omitempty"` + // Ovh Subsidiary OvhSubsidiary *string `json:"ovhSubsidiary,omitempty" tf:"ovh_subsidiary,omitempty"` @@ -283,6 +291,10 @@ type ServiceParameters struct { // +kubebuilder:validation:Optional Description *string `json:"description,omitempty" tf:"description,omitempty"` + // Details about an Order + // +kubebuilder:validation:Optional + Order []OrderParameters `json:"order,omitempty" tf:"order,omitempty"` + // Ovh Subsidiary // +kubebuilder:validation:Optional OvhSubsidiary *string `json:"ovhSubsidiary,omitempty" tf:"ovh_subsidiary,omitempty"` @@ -338,8 +350,8 @@ type ServiceStatus struct { // +kubebuilder:storageversion // Service is the Schema for the Services 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/cloud/v1alpha1/zz_generated.conversion_hubs.go b/apis/cloud/v1alpha1/zz_generated.conversion_hubs.go index 9cb8b65..4016b56 100755 --- a/apis/cloud/v1alpha1/zz_generated.conversion_hubs.go +++ b/apis/cloud/v1alpha1/zz_generated.conversion_hubs.go @@ -9,11 +9,11 @@ package v1alpha1 // Hub marks this type as a conversion hub. func (tr *Project) Hub() {} -// Hub marks this type as a conversion hub. -func (tr *User) Hub() {} - // Hub marks this type as a conversion hub. func (tr *S3Credentials) Hub() {} // Hub marks this type as a conversion hub. func (tr *S3Policy) Hub() {} + +// Hub marks this type as a conversion hub. +func (tr *User) Hub() {} diff --git a/apis/cloud/v1alpha1/zz_generated.deepcopy.go b/apis/cloud/v1alpha1/zz_generated.deepcopy.go index 8a29d38..344ef9d 100644 --- a/apis/cloud/v1alpha1/zz_generated.deepcopy.go +++ b/apis/cloud/v1alpha1/zz_generated.deepcopy.go @@ -582,6 +582,11 @@ func (in *ProjectInitParameters) DeepCopyInto(out *ProjectInitParameters) { *out = new(string) **out = **in } + if in.Order != nil { + in, out := &in.Order, &out.Order + *out = make([]OrderInitParameters, len(*in)) + copy(*out, *in) + } if in.OvhSubsidiary != nil { in, out := &in.OvhSubsidiary, &out.OvhSubsidiary *out = new(string) @@ -739,6 +744,11 @@ func (in *ProjectParameters) DeepCopyInto(out *ProjectParameters) { *out = new(string) **out = **in } + if in.Order != nil { + in, out := &in.Order, &out.Order + *out = make([]OrderParameters, len(*in)) + copy(*out, *in) + } if in.OvhSubsidiary != nil { in, out := &in.OvhSubsidiary, &out.OvhSubsidiary *out = new(string) diff --git a/apis/cloud/v1alpha1/zz_project_types.go b/apis/cloud/v1alpha1/zz_project_types.go index 3e47b40..057c40b 100755 --- a/apis/cloud/v1alpha1/zz_project_types.go +++ b/apis/cloud/v1alpha1/zz_project_types.go @@ -62,12 +62,17 @@ type OrderInitParameters struct { } type OrderObservation struct { + + // date Date *string `json:"date,omitempty" tf:"date,omitempty"` + // Information about a Bill entry Details []DetailsObservation `json:"details,omitempty" tf:"details,omitempty"` + // expiration date ExpirationDate *string `json:"expirationDate,omitempty" tf:"expiration_date,omitempty"` + // order id OrderID *float64 `json:"orderId,omitempty" tf:"order_id,omitempty"` } @@ -224,6 +229,9 @@ type PlanParameters struct { type ProjectInitParameters struct { Description *string `json:"description,omitempty" tf:"description,omitempty"` + // Details about an Order + Order []OrderInitParameters `json:"order,omitempty" tf:"order,omitempty"` + // Ovh Subsidiary OvhSubsidiary *string `json:"ovhSubsidiary,omitempty" tf:"ovh_subsidiary,omitempty"` @@ -273,6 +281,10 @@ type ProjectParameters struct { // +kubebuilder:validation:Optional Description *string `json:"description,omitempty" tf:"description,omitempty"` + // Details about an Order + // +kubebuilder:validation:Optional + Order []OrderParameters `json:"order,omitempty" tf:"order,omitempty"` + // Ovh Subsidiary // +kubebuilder:validation:Optional OvhSubsidiary *string `json:"ovhSubsidiary,omitempty" tf:"ovh_subsidiary,omitempty"` @@ -318,8 +330,8 @@ type ProjectStatus struct { // +kubebuilder:storageversion // 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/cloud/v1alpha1/zz_s3credentials_types.go b/apis/cloud/v1alpha1/zz_s3credentials_types.go index 39530d8..e7b4bbd 100755 --- a/apis/cloud/v1alpha1/zz_s3credentials_types.go +++ b/apis/cloud/v1alpha1/zz_s3credentials_types.go @@ -93,8 +93,8 @@ type S3CredentialsStatus struct { // +kubebuilder:storageversion // S3Credentials is the Schema for the S3Credentialss 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/cloud/v1alpha1/zz_s3policy_types.go b/apis/cloud/v1alpha1/zz_s3policy_types.go index 3d19f60..e41bfb6 100755 --- a/apis/cloud/v1alpha1/zz_s3policy_types.go +++ b/apis/cloud/v1alpha1/zz_s3policy_types.go @@ -99,8 +99,8 @@ type S3PolicyStatus struct { // +kubebuilder:storageversion // S3Policy is the Schema for the S3Policys 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/cloud/v1alpha1/zz_user_types.go b/apis/cloud/v1alpha1/zz_user_types.go index 0b261ac..4526e5f 100755 --- a/apis/cloud/v1alpha1/zz_user_types.go +++ b/apis/cloud/v1alpha1/zz_user_types.go @@ -116,8 +116,8 @@ type UserStatus struct { // +kubebuilder:storageversion // User is the Schema for the Users 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/clouddiskarray/v1alpha1/zz_cephacl_types.go b/apis/clouddiskarray/v1alpha1/zz_cephacl_types.go index 6a37eef..db9596a 100755 --- a/apis/clouddiskarray/v1alpha1/zz_cephacl_types.go +++ b/apis/clouddiskarray/v1alpha1/zz_cephacl_types.go @@ -73,8 +73,8 @@ type CephACLStatus struct { // +kubebuilder:storageversion // CephACL is the Schema for the CephACLs 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/databases/v1alpha1/zz_generated.deepcopy.go b/apis/databases/v1alpha1/zz_generated.deepcopy.go index 5b5bc78..d7ef0cf 100644 --- a/apis/databases/v1alpha1/zz_generated.deepcopy.go +++ b/apis/databases/v1alpha1/zz_generated.deepcopy.go @@ -172,6 +172,86 @@ func (in *EndpointsParameters) DeepCopy() *EndpointsParameters { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IPRestrictionsInitParameters) DeepCopyInto(out *IPRestrictionsInitParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.IP != nil { + in, out := &in.IP, &out.IP + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPRestrictionsInitParameters. +func (in *IPRestrictionsInitParameters) DeepCopy() *IPRestrictionsInitParameters { + if in == nil { + return nil + } + out := new(IPRestrictionsInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IPRestrictionsObservation) DeepCopyInto(out *IPRestrictionsObservation) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.IP != nil { + in, out := &in.IP, &out.IP + *out = new(string) + **out = **in + } + if in.Status != nil { + in, out := &in.Status, &out.Status + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPRestrictionsObservation. +func (in *IPRestrictionsObservation) DeepCopy() *IPRestrictionsObservation { + if in == nil { + return nil + } + out := new(IPRestrictionsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IPRestrictionsParameters) DeepCopyInto(out *IPRestrictionsParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.IP != nil { + in, out := &in.IP, &out.IP + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPRestrictionsParameters. +func (in *IPRestrictionsParameters) DeepCopy() *IPRestrictionsParameters { + if in == nil { + return nil + } + out := new(IPRestrictionsParameters) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *NodesInitParameters) DeepCopyInto(out *NodesInitParameters) { *out = *in @@ -777,11 +857,23 @@ func (in *ProjectDatabaseInitParameters) DeepCopyInto(out *ProjectDatabaseInitPa *out = new(string) **out = **in } + if in.IPRestrictions != nil { + in, out := &in.IPRestrictions, &out.IPRestrictions + *out = make([]IPRestrictionsInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } if in.KafkaRestAPI != nil { in, out := &in.KafkaRestAPI, &out.KafkaRestAPI *out = new(bool) **out = **in } + if in.KafkaSchemaRegistry != nil { + in, out := &in.KafkaSchemaRegistry, &out.KafkaSchemaRegistry + *out = new(bool) + **out = **in + } if in.Nodes != nil { in, out := &in.Nodes, &out.Nodes *out = make([]NodesInitParameters, len(*in)) @@ -2709,11 +2801,23 @@ func (in *ProjectDatabaseObservation) DeepCopyInto(out *ProjectDatabaseObservati *out = new(string) **out = **in } + if in.IPRestrictions != nil { + in, out := &in.IPRestrictions, &out.IPRestrictions + *out = make([]IPRestrictionsObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } if in.KafkaRestAPI != nil { in, out := &in.KafkaRestAPI, &out.KafkaRestAPI *out = new(bool) **out = **in } + if in.KafkaSchemaRegistry != nil { + in, out := &in.KafkaSchemaRegistry, &out.KafkaSchemaRegistry + *out = new(bool) + **out = **in + } if in.MaintenanceTime != nil { in, out := &in.MaintenanceTime, &out.MaintenanceTime *out = new(string) @@ -3262,11 +3366,23 @@ func (in *ProjectDatabaseParameters) DeepCopyInto(out *ProjectDatabaseParameters *out = new(string) **out = **in } + if in.IPRestrictions != nil { + in, out := &in.IPRestrictions, &out.IPRestrictions + *out = make([]IPRestrictionsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } if in.KafkaRestAPI != nil { in, out := &in.KafkaRestAPI, &out.KafkaRestAPI *out = new(bool) **out = **in } + if in.KafkaSchemaRegistry != nil { + in, out := &in.KafkaSchemaRegistry, &out.KafkaSchemaRegistry + *out = new(bool) + **out = **in + } if in.Nodes != nil { in, out := &in.Nodes, &out.Nodes *out = make([]NodesParameters, len(*in)) diff --git a/apis/databases/v1alpha1/zz_projectdatabase_types.go b/apis/databases/v1alpha1/zz_projectdatabase_types.go index 722ebe0..9bb4c2d 100755 --- a/apis/databases/v1alpha1/zz_projectdatabase_types.go +++ b/apis/databases/v1alpha1/zz_projectdatabase_types.go @@ -37,6 +37,38 @@ type EndpointsObservation struct { type EndpointsParameters struct { } +type IPRestrictionsInitParameters struct { + + // Description of the IP restriction + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Authorized IP + IP *string `json:"ip,omitempty" tf:"ip,omitempty"` +} + +type IPRestrictionsObservation struct { + + // Description of the IP restriction + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Authorized IP + IP *string `json:"ip,omitempty" tf:"ip,omitempty"` + + // Current status of the IP restriction + Status *string `json:"status,omitempty" tf:"status,omitempty"` +} + +type IPRestrictionsParameters struct { + + // Description of the IP restriction + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Authorized IP + // +kubebuilder:validation:Optional + IP *string `json:"ip,omitempty" tf:"ip,omitempty"` +} + type NodesInitParameters struct { // Private network ID in which the node is. It's the regional openstackId of the private network. @@ -100,9 +132,15 @@ type ProjectDatabaseInitParameters struct { // The node flavor used for this cluster Flavor *string `json:"flavor,omitempty" tf:"flavor,omitempty"` + // IP Blocks authorized to access to the cluster + IPRestrictions []IPRestrictionsInitParameters `json:"ipRestrictions,omitempty" tf:"ip_restrictions,omitempty"` + // Defines whether the REST API is enabled on a Kafka cluster KafkaRestAPI *bool `json:"kafkaRestApi,omitempty" tf:"kafka_rest_api,omitempty"` + // Defines whether the schema registry is enabled on a Kafka cluster + KafkaSchemaRegistry *bool `json:"kafkaSchemaRegistry,omitempty" tf:"kafka_schema_registry,omitempty"` + // List of nodes composing the service Nodes []NodesInitParameters `json:"nodes,omitempty" tf:"nodes,omitempty"` @@ -153,9 +191,15 @@ type ProjectDatabaseObservation struct { ID *string `json:"id,omitempty" tf:"id,omitempty"` + // IP Blocks authorized to access to the cluster + IPRestrictions []IPRestrictionsObservation `json:"ipRestrictions,omitempty" tf:"ip_restrictions,omitempty"` + // Defines whether the REST API is enabled on a Kafka cluster KafkaRestAPI *bool `json:"kafkaRestApi,omitempty" tf:"kafka_rest_api,omitempty"` + // Defines whether the schema registry is enabled on a Kafka cluster + KafkaSchemaRegistry *bool `json:"kafkaSchemaRegistry,omitempty" tf:"kafka_schema_registry,omitempty"` + // Time on which maintenances can start every day MaintenanceTime *string `json:"maintenanceTime,omitempty" tf:"maintenance_time,omitempty"` @@ -211,10 +255,18 @@ type ProjectDatabaseParameters struct { // +kubebuilder:validation:Optional Flavor *string `json:"flavor,omitempty" tf:"flavor,omitempty"` + // IP Blocks authorized to access to the cluster + // +kubebuilder:validation:Optional + IPRestrictions []IPRestrictionsParameters `json:"ipRestrictions,omitempty" tf:"ip_restrictions,omitempty"` + // Defines whether the REST API is enabled on a Kafka cluster // +kubebuilder:validation:Optional KafkaRestAPI *bool `json:"kafkaRestApi,omitempty" tf:"kafka_rest_api,omitempty"` + // Defines whether the schema registry is enabled on a Kafka cluster + // +kubebuilder:validation:Optional + KafkaSchemaRegistry *bool `json:"kafkaSchemaRegistry,omitempty" tf:"kafka_schema_registry,omitempty"` + // List of nodes composing the service // +kubebuilder:validation:Optional Nodes []NodesParameters `json:"nodes,omitempty" tf:"nodes,omitempty"` @@ -263,8 +315,8 @@ type ProjectDatabaseStatus struct { // +kubebuilder:storageversion // ProjectDatabase is the Schema for the ProjectDatabases 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/databases/v1alpha1/zz_projectdatabasedatabase_types.go b/apis/databases/v1alpha1/zz_projectdatabasedatabase_types.go index 06f3854..b525e48 100755 --- a/apis/databases/v1alpha1/zz_projectdatabasedatabase_types.go +++ b/apis/databases/v1alpha1/zz_projectdatabasedatabase_types.go @@ -92,8 +92,8 @@ type ProjectDatabaseDatabaseStatus struct { // +kubebuilder:storageversion // ProjectDatabaseDatabase is the Schema for the ProjectDatabaseDatabases 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/databases/v1alpha1/zz_projectdatabaseintegration_types.go b/apis/databases/v1alpha1/zz_projectdatabaseintegration_types.go index 95dd72a..32ed9a4 100755 --- a/apis/databases/v1alpha1/zz_projectdatabaseintegration_types.go +++ b/apis/databases/v1alpha1/zz_projectdatabaseintegration_types.go @@ -125,8 +125,8 @@ type ProjectDatabaseIntegrationStatus struct { // +kubebuilder:storageversion // ProjectDatabaseIntegration is the Schema for the ProjectDatabaseIntegrations 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/databases/v1alpha1/zz_projectdatabaseiprestriction_types.go b/apis/databases/v1alpha1/zz_projectdatabaseiprestriction_types.go index ba5eb38..1a6cfb0 100755 --- a/apis/databases/v1alpha1/zz_projectdatabaseiprestriction_types.go +++ b/apis/databases/v1alpha1/zz_projectdatabaseiprestriction_types.go @@ -102,8 +102,8 @@ type ProjectDatabaseIPRestrictionStatus struct { // +kubebuilder:storageversion // ProjectDatabaseIPRestriction is the Schema for the ProjectDatabaseIPRestrictions 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/databases/v1alpha1/zz_projectdatabasekafkaacl_types.go b/apis/databases/v1alpha1/zz_projectdatabasekafkaacl_types.go index bcb5af5..9cc461f 100755 --- a/apis/databases/v1alpha1/zz_projectdatabasekafkaacl_types.go +++ b/apis/databases/v1alpha1/zz_projectdatabasekafkaacl_types.go @@ -99,8 +99,8 @@ type ProjectDatabaseKafkaACLStatus struct { // +kubebuilder:storageversion // ProjectDatabaseKafkaACL is the Schema for the ProjectDatabaseKafkaACLs 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/databases/v1alpha1/zz_projectdatabasekafkaschemaregistryacl_types.go b/apis/databases/v1alpha1/zz_projectdatabasekafkaschemaregistryacl_types.go index fa4e529..28a266a 100755 --- a/apis/databases/v1alpha1/zz_projectdatabasekafkaschemaregistryacl_types.go +++ b/apis/databases/v1alpha1/zz_projectdatabasekafkaschemaregistryacl_types.go @@ -99,8 +99,8 @@ type ProjectDatabaseKafkaSchemaregistryaclStatus struct { // +kubebuilder:storageversion // ProjectDatabaseKafkaSchemaregistryacl is the Schema for the ProjectDatabaseKafkaSchemaregistryacls 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/databases/v1alpha1/zz_projectdatabasekafkatopic_types.go b/apis/databases/v1alpha1/zz_projectdatabasekafkatopic_types.go index 565b42e..2375ac3 100755 --- a/apis/databases/v1alpha1/zz_projectdatabasekafkatopic_types.go +++ b/apis/databases/v1alpha1/zz_projectdatabasekafkatopic_types.go @@ -129,8 +129,8 @@ type ProjectDatabaseKafkaTopicStatus struct { // +kubebuilder:storageversion // ProjectDatabaseKafkaTopic is the Schema for the ProjectDatabaseKafkaTopics 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/databases/v1alpha1/zz_projectdatabasem3dbnamespace_types.go b/apis/databases/v1alpha1/zz_projectdatabasem3dbnamespace_types.go index 8fd7527..1411219 100755 --- a/apis/databases/v1alpha1/zz_projectdatabasem3dbnamespace_types.go +++ b/apis/databases/v1alpha1/zz_projectdatabasem3dbnamespace_types.go @@ -162,8 +162,8 @@ type ProjectDatabaseM3DbNamespaceStatus struct { // +kubebuilder:storageversion // ProjectDatabaseM3DbNamespace is the Schema for the ProjectDatabaseM3DbNamespaces 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/databases/v1alpha1/zz_projectdatabasem3dbuser_types.go b/apis/databases/v1alpha1/zz_projectdatabasem3dbuser_types.go index 4874c0f..e6c303e 100755 --- a/apis/databases/v1alpha1/zz_projectdatabasem3dbuser_types.go +++ b/apis/databases/v1alpha1/zz_projectdatabasem3dbuser_types.go @@ -105,8 +105,8 @@ type ProjectDatabaseM3DbUserStatus struct { // +kubebuilder:storageversion // ProjectDatabaseM3DbUser is the Schema for the ProjectDatabaseM3DbUsers 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/databases/v1alpha1/zz_projectdatabasemongodbuser_types.go b/apis/databases/v1alpha1/zz_projectdatabasemongodbuser_types.go index 9367cb7..8de00ab 100755 --- a/apis/databases/v1alpha1/zz_projectdatabasemongodbuser_types.go +++ b/apis/databases/v1alpha1/zz_projectdatabasemongodbuser_types.go @@ -108,8 +108,8 @@ type ProjectDatabaseMongodbUserStatus struct { // +kubebuilder:storageversion // ProjectDatabaseMongodbUser is the Schema for the ProjectDatabaseMongodbUsers 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/databases/v1alpha1/zz_projectdatabaseopensearchpattern_types.go b/apis/databases/v1alpha1/zz_projectdatabaseopensearchpattern_types.go index c1d0a95..0231d1a 100755 --- a/apis/databases/v1alpha1/zz_projectdatabaseopensearchpattern_types.go +++ b/apis/databases/v1alpha1/zz_projectdatabaseopensearchpattern_types.go @@ -89,8 +89,8 @@ type ProjectDatabaseOpensearchPatternStatus struct { // +kubebuilder:storageversion // ProjectDatabaseOpensearchPattern is the Schema for the ProjectDatabaseOpensearchPatterns 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/databases/v1alpha1/zz_projectdatabaseopensearchuser_types.go b/apis/databases/v1alpha1/zz_projectdatabaseopensearchuser_types.go index 6dca738..c02d9a5 100755 --- a/apis/databases/v1alpha1/zz_projectdatabaseopensearchuser_types.go +++ b/apis/databases/v1alpha1/zz_projectdatabaseopensearchuser_types.go @@ -134,8 +134,8 @@ type ProjectDatabaseOpensearchUserStatus struct { // +kubebuilder:storageversion // ProjectDatabaseOpensearchUser is the Schema for the ProjectDatabaseOpensearchUsers 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/databases/v1alpha1/zz_projectdatabasepostgresqlconnectionpool_types.go b/apis/databases/v1alpha1/zz_projectdatabasepostgresqlconnectionpool_types.go index 2bae810..d7a35dd 100755 --- a/apis/databases/v1alpha1/zz_projectdatabasepostgresqlconnectionpool_types.go +++ b/apis/databases/v1alpha1/zz_projectdatabasepostgresqlconnectionpool_types.go @@ -128,8 +128,8 @@ type ProjectDatabasePostgresqlConnectionPoolStatus struct { // +kubebuilder:storageversion // ProjectDatabasePostgresqlConnectionPool is the Schema for the ProjectDatabasePostgresqlConnectionPools 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/databases/v1alpha1/zz_projectdatabasepostgresqluser_types.go b/apis/databases/v1alpha1/zz_projectdatabasepostgresqluser_types.go index 956245d..d12d87a 100755 --- a/apis/databases/v1alpha1/zz_projectdatabasepostgresqluser_types.go +++ b/apis/databases/v1alpha1/zz_projectdatabasepostgresqluser_types.go @@ -108,8 +108,8 @@ type ProjectDatabasePostgresqlUserStatus struct { // +kubebuilder:storageversion // ProjectDatabasePostgresqlUser is the Schema for the ProjectDatabasePostgresqlUsers 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/databases/v1alpha1/zz_projectdatabaseredisuser_types.go b/apis/databases/v1alpha1/zz_projectdatabaseredisuser_types.go index c3a1f65..65b6431 100755 --- a/apis/databases/v1alpha1/zz_projectdatabaseredisuser_types.go +++ b/apis/databases/v1alpha1/zz_projectdatabaseredisuser_types.go @@ -147,8 +147,8 @@ type ProjectDatabaseRedisUserStatus struct { // +kubebuilder:storageversion // ProjectDatabaseRedisUser is the Schema for the ProjectDatabaseRedisUsers 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/databases/v1alpha1/zz_projectdatabaseuser_types.go b/apis/databases/v1alpha1/zz_projectdatabaseuser_types.go index ebd6df6..4aca614 100755 --- a/apis/databases/v1alpha1/zz_projectdatabaseuser_types.go +++ b/apis/databases/v1alpha1/zz_projectdatabaseuser_types.go @@ -105,8 +105,8 @@ type ProjectDatabaseUserStatus struct { // +kubebuilder:storageversion // ProjectDatabaseUser is the Schema for the ProjectDatabaseUsers 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/dedicatedserver/v1alpha1/zz_generated.conversion_hubs.go b/apis/dedicatedserver/v1alpha1/zz_generated.conversion_hubs.go index 1505853..6a67e63 100755 --- a/apis/dedicatedserver/v1alpha1/zz_generated.conversion_hubs.go +++ b/apis/dedicatedserver/v1alpha1/zz_generated.conversion_hubs.go @@ -7,25 +7,25 @@ Copyright 2022 Upbound Inc. package v1alpha1 // Hub marks this type as a conversion hub. -func (tr *ServerInstallTask) Hub() {} +func (tr *InstallationTemplate) Hub() {} // Hub marks this type as a conversion hub. -func (tr *ServerNetworking) Hub() {} +func (tr *InstallationTemplatePartitionScheme) Hub() {} // Hub marks this type as a conversion hub. -func (tr *ServerRebootTask) Hub() {} +func (tr *InstallationTemplatePartitionSchemeHardwareRaid) Hub() {} // Hub marks this type as a conversion hub. -func (tr *ServerUpdate) Hub() {} +func (tr *InstallationTemplatePartitionSchemePartition) Hub() {} // Hub marks this type as a conversion hub. -func (tr *InstallationTemplate) Hub() {} +func (tr *ServerInstallTask) Hub() {} // Hub marks this type as a conversion hub. -func (tr *InstallationTemplatePartitionScheme) Hub() {} +func (tr *ServerNetworking) Hub() {} // Hub marks this type as a conversion hub. -func (tr *InstallationTemplatePartitionSchemeHardwareRaid) Hub() {} +func (tr *ServerRebootTask) Hub() {} // Hub marks this type as a conversion hub. -func (tr *InstallationTemplatePartitionSchemePartition) Hub() {} +func (tr *ServerUpdate) Hub() {} diff --git a/apis/dedicatedserver/v1alpha1/zz_generated.deepcopy.go b/apis/dedicatedserver/v1alpha1/zz_generated.deepcopy.go index dca8b62..71b9a87 100644 --- a/apis/dedicatedserver/v1alpha1/zz_generated.deepcopy.go +++ b/apis/dedicatedserver/v1alpha1/zz_generated.deepcopy.go @@ -15,11 +15,6 @@ import ( // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *CustomizationInitParameters) DeepCopyInto(out *CustomizationInitParameters) { *out = *in - if in.ChangeLog != nil { - in, out := &in.ChangeLog, &out.ChangeLog - *out = new(string) - **out = **in - } if in.CustomHostname != nil { in, out := &in.CustomHostname, &out.CustomHostname *out = new(string) @@ -35,21 +30,6 @@ func (in *CustomizationInitParameters) DeepCopyInto(out *CustomizationInitParame *out = new(string) **out = **in } - if in.Rating != nil { - in, out := &in.Rating, &out.Rating - *out = new(float64) - **out = **in - } - if in.SSHKeyName != nil { - in, out := &in.SSHKeyName, &out.SSHKeyName - *out = new(string) - **out = **in - } - if in.UseDistributionKernel != nil { - in, out := &in.UseDistributionKernel, &out.UseDistributionKernel - *out = new(bool) - **out = **in - } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomizationInitParameters. @@ -65,11 +45,6 @@ func (in *CustomizationInitParameters) DeepCopy() *CustomizationInitParameters { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *CustomizationObservation) DeepCopyInto(out *CustomizationObservation) { *out = *in - if in.ChangeLog != nil { - in, out := &in.ChangeLog, &out.ChangeLog - *out = new(string) - **out = **in - } if in.CustomHostname != nil { in, out := &in.CustomHostname, &out.CustomHostname *out = new(string) @@ -85,21 +60,6 @@ func (in *CustomizationObservation) DeepCopyInto(out *CustomizationObservation) *out = new(string) **out = **in } - if in.Rating != nil { - in, out := &in.Rating, &out.Rating - *out = new(float64) - **out = **in - } - if in.SSHKeyName != nil { - in, out := &in.SSHKeyName, &out.SSHKeyName - *out = new(string) - **out = **in - } - if in.UseDistributionKernel != nil { - in, out := &in.UseDistributionKernel, &out.UseDistributionKernel - *out = new(bool) - **out = **in - } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomizationObservation. @@ -115,11 +75,6 @@ func (in *CustomizationObservation) DeepCopy() *CustomizationObservation { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *CustomizationParameters) DeepCopyInto(out *CustomizationParameters) { *out = *in - if in.ChangeLog != nil { - in, out := &in.ChangeLog, &out.ChangeLog - *out = new(string) - **out = **in - } if in.CustomHostname != nil { in, out := &in.CustomHostname, &out.CustomHostname *out = new(string) @@ -135,21 +90,6 @@ func (in *CustomizationParameters) DeepCopyInto(out *CustomizationParameters) { *out = new(string) **out = **in } - if in.Rating != nil { - in, out := &in.Rating, &out.Rating - *out = new(float64) - **out = **in - } - if in.SSHKeyName != nil { - in, out := &in.SSHKeyName, &out.SSHKeyName - *out = new(string) - **out = **in - } - if in.UseDistributionKernel != nil { - in, out := &in.UseDistributionKernel, &out.UseDistributionKernel - *out = new(bool) - **out = **in - } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomizationParameters. @@ -165,11 +105,6 @@ func (in *CustomizationParameters) DeepCopy() *CustomizationParameters { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *DetailsInitParameters) DeepCopyInto(out *DetailsInitParameters) { *out = *in - if in.ChangeLog != nil { - in, out := &in.ChangeLog, &out.ChangeLog - *out = new(string) - **out = **in - } if in.CustomHostname != nil { in, out := &in.CustomHostname, &out.CustomHostname *out = new(string) @@ -180,21 +115,6 @@ func (in *DetailsInitParameters) DeepCopyInto(out *DetailsInitParameters) { *out = new(float64) **out = **in } - if in.InstallRtm != nil { - in, out := &in.InstallRtm, &out.InstallRtm - *out = new(bool) - **out = **in - } - if in.InstallSQLServer != nil { - in, out := &in.InstallSQLServer, &out.InstallSQLServer - *out = new(bool) - **out = **in - } - if in.Language != nil { - in, out := &in.Language, &out.Language - *out = new(string) - **out = **in - } if in.NoRaid != nil { in, out := &in.NoRaid, &out.NoRaid *out = new(bool) @@ -210,31 +130,11 @@ func (in *DetailsInitParameters) DeepCopyInto(out *DetailsInitParameters) { *out = new(string) **out = **in } - if in.ResetHwRaid != nil { - in, out := &in.ResetHwRaid, &out.ResetHwRaid - *out = new(bool) - **out = **in - } - if in.SSHKeyName != nil { - in, out := &in.SSHKeyName, &out.SSHKeyName - *out = new(string) - **out = **in - } if in.SoftRaidDevices != nil { in, out := &in.SoftRaidDevices, &out.SoftRaidDevices *out = new(float64) **out = **in } - if in.UseDistribKernel != nil { - in, out := &in.UseDistribKernel, &out.UseDistribKernel - *out = new(bool) - **out = **in - } - if in.UseSpla != nil { - in, out := &in.UseSpla, &out.UseSpla - *out = new(bool) - **out = **in - } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DetailsInitParameters. @@ -250,11 +150,6 @@ func (in *DetailsInitParameters) DeepCopy() *DetailsInitParameters { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *DetailsObservation) DeepCopyInto(out *DetailsObservation) { *out = *in - if in.ChangeLog != nil { - in, out := &in.ChangeLog, &out.ChangeLog - *out = new(string) - **out = **in - } if in.CustomHostname != nil { in, out := &in.CustomHostname, &out.CustomHostname *out = new(string) @@ -265,21 +160,6 @@ func (in *DetailsObservation) DeepCopyInto(out *DetailsObservation) { *out = new(float64) **out = **in } - if in.InstallRtm != nil { - in, out := &in.InstallRtm, &out.InstallRtm - *out = new(bool) - **out = **in - } - if in.InstallSQLServer != nil { - in, out := &in.InstallSQLServer, &out.InstallSQLServer - *out = new(bool) - **out = **in - } - if in.Language != nil { - in, out := &in.Language, &out.Language - *out = new(string) - **out = **in - } if in.NoRaid != nil { in, out := &in.NoRaid, &out.NoRaid *out = new(bool) @@ -295,31 +175,11 @@ func (in *DetailsObservation) DeepCopyInto(out *DetailsObservation) { *out = new(string) **out = **in } - if in.ResetHwRaid != nil { - in, out := &in.ResetHwRaid, &out.ResetHwRaid - *out = new(bool) - **out = **in - } - if in.SSHKeyName != nil { - in, out := &in.SSHKeyName, &out.SSHKeyName - *out = new(string) - **out = **in - } if in.SoftRaidDevices != nil { in, out := &in.SoftRaidDevices, &out.SoftRaidDevices *out = new(float64) **out = **in } - if in.UseDistribKernel != nil { - in, out := &in.UseDistribKernel, &out.UseDistribKernel - *out = new(bool) - **out = **in - } - if in.UseSpla != nil { - in, out := &in.UseSpla, &out.UseSpla - *out = new(bool) - **out = **in - } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DetailsObservation. @@ -335,11 +195,6 @@ func (in *DetailsObservation) DeepCopy() *DetailsObservation { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *DetailsParameters) DeepCopyInto(out *DetailsParameters) { *out = *in - if in.ChangeLog != nil { - in, out := &in.ChangeLog, &out.ChangeLog - *out = new(string) - **out = **in - } if in.CustomHostname != nil { in, out := &in.CustomHostname, &out.CustomHostname *out = new(string) @@ -350,21 +205,6 @@ func (in *DetailsParameters) DeepCopyInto(out *DetailsParameters) { *out = new(float64) **out = **in } - if in.InstallRtm != nil { - in, out := &in.InstallRtm, &out.InstallRtm - *out = new(bool) - **out = **in - } - if in.InstallSQLServer != nil { - in, out := &in.InstallSQLServer, &out.InstallSQLServer - *out = new(bool) - **out = **in - } - if in.Language != nil { - in, out := &in.Language, &out.Language - *out = new(string) - **out = **in - } if in.NoRaid != nil { in, out := &in.NoRaid, &out.NoRaid *out = new(bool) @@ -380,39 +220,100 @@ func (in *DetailsParameters) DeepCopyInto(out *DetailsParameters) { *out = new(string) **out = **in } - if in.ResetHwRaid != nil { - in, out := &in.ResetHwRaid, &out.ResetHwRaid - *out = new(bool) + if in.SoftRaidDevices != nil { + in, out := &in.SoftRaidDevices, &out.SoftRaidDevices + *out = new(float64) **out = **in } - if in.SSHKeyName != nil { - in, out := &in.SSHKeyName, &out.SSHKeyName +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DetailsParameters. +func (in *DetailsParameters) DeepCopy() *DetailsParameters { + if in == nil { + return nil + } + out := new(DetailsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InputsInitParameters) DeepCopyInto(out *InputsInitParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InputsInitParameters. +func (in *InputsInitParameters) DeepCopy() *InputsInitParameters { + if in == nil { + return nil + } + out := new(InputsInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InputsObservation) DeepCopyInto(out *InputsObservation) { + *out = *in + if in.Default != nil { + in, out := &in.Default, &out.Default *out = new(string) **out = **in } - if in.SoftRaidDevices != nil { - in, out := &in.SoftRaidDevices, &out.SoftRaidDevices - *out = new(float64) + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) **out = **in } - if in.UseDistribKernel != nil { - in, out := &in.UseDistribKernel, &out.UseDistribKernel + if in.Enum != nil { + in, out := &in.Enum, &out.Enum + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.Mandatory != nil { + in, out := &in.Mandatory, &out.Mandatory *out = new(bool) **out = **in } - if in.UseSpla != nil { - in, out := &in.UseSpla, &out.UseSpla - *out = new(bool) + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) **out = **in } } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DetailsParameters. -func (in *DetailsParameters) DeepCopy() *DetailsParameters { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InputsObservation. +func (in *InputsObservation) DeepCopy() *InputsObservation { if in == nil { return nil } - out := new(DetailsParameters) + out := new(InputsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InputsParameters) DeepCopyInto(out *InputsParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InputsParameters. +func (in *InputsParameters) DeepCopy() *InputsParameters { + if in == nil { + return nil + } + out := new(InputsParameters) in.DeepCopyInto(out) return out } @@ -459,11 +360,6 @@ func (in *InstallationTemplateInitParameters) DeepCopyInto(out *InstallationTemp (*in)[i].DeepCopyInto(&(*out)[i]) } } - if in.DefaultLanguage != nil { - in, out := &in.DefaultLanguage, &out.DefaultLanguage - *out = new(string) - **out = **in - } if in.RemoveDefaultPartitionSchemes != nil { in, out := &in.RemoveDefaultPartitionSchemes, &out.RemoveDefaultPartitionSchemes *out = new(bool) @@ -521,27 +417,11 @@ func (in *InstallationTemplateList) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *InstallationTemplateObservation) DeepCopyInto(out *InstallationTemplateObservation) { *out = *in - if in.AvailableLanguages != nil { - in, out := &in.AvailableLanguages, &out.AvailableLanguages - *out = make([]*string, len(*in)) - for i := range *in { - if (*in)[i] != nil { - in, out := &(*in)[i], &(*out)[i] - *out = new(string) - **out = **in - } - } - } if in.BaseTemplateName != nil { in, out := &in.BaseTemplateName, &out.BaseTemplateName *out = new(string) **out = **in } - if in.Beta != nil { - in, out := &in.Beta, &out.Beta - *out = new(bool) - **out = **in - } if in.BitFormat != nil { in, out := &in.BitFormat, &out.BitFormat *out = new(float64) @@ -559,16 +439,6 @@ func (in *InstallationTemplateObservation) DeepCopyInto(out *InstallationTemplat (*in)[i].DeepCopyInto(&(*out)[i]) } } - if in.DefaultLanguage != nil { - in, out := &in.DefaultLanguage, &out.DefaultLanguage - *out = new(string) - **out = **in - } - if in.Deprecated != nil { - in, out := &in.Deprecated, &out.Deprecated - *out = new(bool) - **out = **in - } if in.Description != nil { in, out := &in.Description, &out.Description *out = new(string) @@ -579,6 +449,11 @@ func (in *InstallationTemplateObservation) DeepCopyInto(out *InstallationTemplat *out = new(string) **out = **in } + if in.EndOfInstall != nil { + in, out := &in.EndOfInstall, &out.EndOfInstall + *out = new(string) + **out = **in + } if in.Family != nil { in, out := &in.Family, &out.Family *out = new(string) @@ -605,34 +480,36 @@ func (in *InstallationTemplateObservation) DeepCopyInto(out *InstallationTemplat *out = new(string) **out = **in } - if in.LastModification != nil { - in, out := &in.LastModification, &out.LastModification - *out = new(string) - **out = **in + if in.Inputs != nil { + in, out := &in.Inputs, &out.Inputs + *out = make([]InputsObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } } if in.LvmReady != nil { in, out := &in.LvmReady, &out.LvmReady *out = new(bool) **out = **in } - if in.RemoveDefaultPartitionSchemes != nil { - in, out := &in.RemoveDefaultPartitionSchemes, &out.RemoveDefaultPartitionSchemes + if in.NoPartitioning != nil { + in, out := &in.NoPartitioning, &out.NoPartitioning *out = new(bool) **out = **in } - if in.SupportsDistributionKernel != nil { - in, out := &in.SupportsDistributionKernel, &out.SupportsDistributionKernel + if in.RemoveDefaultPartitionSchemes != nil { + in, out := &in.RemoveDefaultPartitionSchemes, &out.RemoveDefaultPartitionSchemes *out = new(bool) **out = **in } - if in.SupportsRtm != nil { - in, out := &in.SupportsRtm, &out.SupportsRtm + if in.SoftRaidOnlyMirroring != nil { + in, out := &in.SoftRaidOnlyMirroring, &out.SoftRaidOnlyMirroring *out = new(bool) **out = **in } - if in.SupportsSQLServer != nil { - in, out := &in.SupportsSQLServer, &out.SupportsSQLServer - *out = new(bool) + if in.Subfamily != nil { + in, out := &in.Subfamily, &out.Subfamily + *out = new(string) **out = **in } if in.TemplateName != nil { @@ -667,11 +544,6 @@ func (in *InstallationTemplateParameters) DeepCopyInto(out *InstallationTemplate (*in)[i].DeepCopyInto(&(*out)[i]) } } - if in.DefaultLanguage != nil { - in, out := &in.DefaultLanguage, &out.DefaultLanguage - *out = new(string) - **out = **in - } if in.RemoveDefaultPartitionSchemes != nil { in, out := &in.RemoveDefaultPartitionSchemes, &out.RemoveDefaultPartitionSchemes *out = new(bool) @@ -1599,6 +1471,13 @@ func (in *ServerInstallTaskInitParameters) DeepCopyInto(out *ServerInstallTaskIn *out = new(string) **out = **in } + if in.UserMetadata != nil { + in, out := &in.UserMetadata, &out.UserMetadata + *out = make([]UserMetadataInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerInstallTaskInitParameters. @@ -1708,6 +1587,13 @@ func (in *ServerInstallTaskObservation) DeepCopyInto(out *ServerInstallTaskObser *out = new(string) **out = **in } + if in.UserMetadata != nil { + in, out := &in.UserMetadata, &out.UserMetadata + *out = make([]UserMetadataObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerInstallTaskObservation. @@ -1750,6 +1636,13 @@ func (in *ServerInstallTaskParameters) DeepCopyInto(out *ServerInstallTaskParame *out = new(string) **out = **in } + if in.UserMetadata != nil { + in, out := &in.UserMetadata, &out.UserMetadata + *out = make([]UserMetadataParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerInstallTaskParameters. @@ -2249,6 +2142,11 @@ func (in *ServerUpdateInitParameters) DeepCopyInto(out *ServerUpdateInitParamete *out = new(string) **out = **in } + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } if in.Monitoring != nil { in, out := &in.Monitoring, &out.Monitoring *out = new(bool) @@ -2321,6 +2219,11 @@ func (in *ServerUpdateObservation) DeepCopyInto(out *ServerUpdateObservation) { *out = new(string) **out = **in } + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } if in.ID != nil { in, out := &in.ID, &out.ID *out = new(string) @@ -2366,6 +2269,11 @@ func (in *ServerUpdateParameters) DeepCopyInto(out *ServerUpdateParameters) { *out = new(string) **out = **in } + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } if in.Monitoring != nil { in, out := &in.Monitoring, &out.Monitoring *out = new(bool) @@ -2427,3 +2335,78 @@ func (in *ServerUpdateStatus) DeepCopy() *ServerUpdateStatus { in.DeepCopyInto(out) return out } + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UserMetadataInitParameters) DeepCopyInto(out *UserMetadataInitParameters) { + *out = *in + if in.Key != nil { + in, out := &in.Key, &out.Key + *out = new(string) + **out = **in + } + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserMetadataInitParameters. +func (in *UserMetadataInitParameters) DeepCopy() *UserMetadataInitParameters { + if in == nil { + return nil + } + out := new(UserMetadataInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UserMetadataObservation) DeepCopyInto(out *UserMetadataObservation) { + *out = *in + if in.Key != nil { + in, out := &in.Key, &out.Key + *out = new(string) + **out = **in + } + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserMetadataObservation. +func (in *UserMetadataObservation) DeepCopy() *UserMetadataObservation { + if in == nil { + return nil + } + out := new(UserMetadataObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UserMetadataParameters) DeepCopyInto(out *UserMetadataParameters) { + *out = *in + if in.Key != nil { + in, out := &in.Key, &out.Key + *out = new(string) + **out = **in + } + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserMetadataParameters. +func (in *UserMetadataParameters) DeepCopy() *UserMetadataParameters { + if in == nil { + return nil + } + out := new(UserMetadataParameters) + in.DeepCopyInto(out) + return out +} diff --git a/apis/dedicatedserver/v1alpha1/zz_installationtemplate_types.go b/apis/dedicatedserver/v1alpha1/zz_installationtemplate_types.go index 9329bd1..90c3d2f 100755 --- a/apis/dedicatedserver/v1alpha1/zz_installationtemplate_types.go +++ b/apis/dedicatedserver/v1alpha1/zz_installationtemplate_types.go @@ -15,9 +15,6 @@ import ( type CustomizationInitParameters struct { - // Template change log details - ChangeLog *string `json:"changeLog,omitempty" tf:"change_log,omitempty"` - // Set up the server using the provided hostname instead of the default hostname CustomHostname *string `json:"customHostname,omitempty" tf:"custom_hostname,omitempty"` @@ -26,21 +23,10 @@ type CustomizationInitParameters struct { // indicate the string returned by your postinstall customisation script on successful execution. Advice: your script should return a unique validation string in case of succes. A good example is 'loh1Xee7eo OK OK OK UGh8Ang1Gu' PostInstallationScriptReturn *string `json:"postInstallationScriptReturn,omitempty" tf:"post_installation_script_return,omitempty"` - - Rating *float64 `json:"rating,omitempty" tf:"rating,omitempty"` - - // Name of the ssh key that should be installed. Password login will be disabled - SSHKeyName *string `json:"sshKeyName,omitempty" tf:"ssh_key_name,omitempty"` - - // Use the distribution's native kernel instead of the recommended OVH Kernel - UseDistributionKernel *bool `json:"useDistributionKernel,omitempty" tf:"use_distribution_kernel,omitempty"` } type CustomizationObservation struct { - // Template change log details - ChangeLog *string `json:"changeLog,omitempty" tf:"change_log,omitempty"` - // Set up the server using the provided hostname instead of the default hostname CustomHostname *string `json:"customHostname,omitempty" tf:"custom_hostname,omitempty"` @@ -49,22 +35,10 @@ type CustomizationObservation struct { // indicate the string returned by your postinstall customisation script on successful execution. Advice: your script should return a unique validation string in case of succes. A good example is 'loh1Xee7eo OK OK OK UGh8Ang1Gu' PostInstallationScriptReturn *string `json:"postInstallationScriptReturn,omitempty" tf:"post_installation_script_return,omitempty"` - - Rating *float64 `json:"rating,omitempty" tf:"rating,omitempty"` - - // Name of the ssh key that should be installed. Password login will be disabled - SSHKeyName *string `json:"sshKeyName,omitempty" tf:"ssh_key_name,omitempty"` - - // Use the distribution's native kernel instead of the recommended OVH Kernel - UseDistributionKernel *bool `json:"useDistributionKernel,omitempty" tf:"use_distribution_kernel,omitempty"` } type CustomizationParameters struct { - // Template change log details - // +kubebuilder:validation:Optional - ChangeLog *string `json:"changeLog,omitempty" tf:"change_log,omitempty"` - // Set up the server using the provided hostname instead of the default hostname // +kubebuilder:validation:Optional CustomHostname *string `json:"customHostname,omitempty" tf:"custom_hostname,omitempty"` @@ -76,17 +50,26 @@ type CustomizationParameters struct { // indicate the string returned by your postinstall customisation script on successful execution. Advice: your script should return a unique validation string in case of succes. A good example is 'loh1Xee7eo OK OK OK UGh8Ang1Gu' // +kubebuilder:validation:Optional PostInstallationScriptReturn *string `json:"postInstallationScriptReturn,omitempty" tf:"post_installation_script_return,omitempty"` +} - // +kubebuilder:validation:Optional - Rating *float64 `json:"rating,omitempty" tf:"rating,omitempty"` +type InputsInitParameters struct { +} - // Name of the ssh key that should be installed. Password login will be disabled - // +kubebuilder:validation:Optional - SSHKeyName *string `json:"sshKeyName,omitempty" tf:"ssh_key_name,omitempty"` +type InputsObservation struct { + Default *string `json:"default,omitempty" tf:"default,omitempty"` - // Use the distribution's native kernel instead of the recommended OVH Kernel - // +kubebuilder:validation:Optional - UseDistributionKernel *bool `json:"useDistributionKernel,omitempty" tf:"use_distribution_kernel,omitempty"` + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + Enum []*string `json:"enum,omitempty" tf:"enum,omitempty"` + + Mandatory *bool `json:"mandatory,omitempty" tf:"mandatory,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + Type *string `json:"type,omitempty" tf:"type,omitempty"` +} + +type InputsParameters struct { } type InstallationTemplateInitParameters struct { @@ -96,9 +79,6 @@ type InstallationTemplateInitParameters struct { Customization []CustomizationInitParameters `json:"customization,omitempty" tf:"customization,omitempty"` - // The default language of this template - DefaultLanguage *string `json:"defaultLanguage,omitempty" tf:"default_language,omitempty"` - // Remove default partition schemes at creation RemoveDefaultPartitionSchemes *bool `json:"removeDefaultPartitionSchemes,omitempty" tf:"remove_default_partition_schemes,omitempty"` @@ -108,15 +88,9 @@ type InstallationTemplateInitParameters struct { type InstallationTemplateObservation struct { - // List of all language available for this template - AvailableLanguages []*string `json:"availableLanguages,omitempty" tf:"available_languages,omitempty"` - // OVH template name yours will be based on, choose one among the list given by compatibleTemplates function BaseTemplateName *string `json:"baseTemplateName,omitempty" tf:"base_template_name,omitempty"` - // This distribution is new and, although tested and functional, may still display odd behaviour - Beta *bool `json:"beta,omitempty" tf:"beta,omitempty"` - // This template bit format (32 or 64) BitFormat *float64 `json:"bitFormat,omitempty" tf:"bit_format,omitempty"` @@ -125,22 +99,19 @@ type InstallationTemplateObservation struct { Customization []CustomizationObservation `json:"customization,omitempty" tf:"customization,omitempty"` - // The default language of this template - DefaultLanguage *string `json:"defaultLanguage,omitempty" tf:"default_language,omitempty"` - - // is this distribution deprecated - Deprecated *bool `json:"deprecated,omitempty" tf:"deprecated,omitempty"` - // information about this template Description *string `json:"description,omitempty" tf:"description,omitempty"` // the distribution this template is based on Distribution *string `json:"distribution,omitempty" tf:"distribution,omitempty"` - // this template family type (bsd,linux,solaris,windows) + // after this date, install of this template will not be possible at OVH + EndOfInstall *string `json:"endOfInstall,omitempty" tf:"end_of_install,omitempty"` + + // this template family type Family *string `json:"family,omitempty" tf:"family,omitempty"` - // Filesystems available (btrfs,ext3,ext4,ntfs,reiserfs,swap,ufs,xfs,zfs) + // Filesystems available Filesystems []*string `json:"filesystems,omitempty" tf:"filesystems,omitempty"` // This distribution supports hardware raid configuration through the OVH API @@ -148,23 +119,22 @@ type InstallationTemplateObservation struct { ID *string `json:"id,omitempty" tf:"id,omitempty"` - // Date of last modification of the base image - LastModification *string `json:"lastModification,omitempty" tf:"last_modification,omitempty"` + Inputs []InputsObservation `json:"inputs,omitempty" tf:"inputs,omitempty"` - // This distribution supports Logical Volumes (Linux LVM) + // Whether this distribution supports Logical Volumes (Linux LVM) LvmReady *bool `json:"lvmReady,omitempty" tf:"lvm_ready,omitempty"` + // Partitioning customization is not available for this OS template + NoPartitioning *bool `json:"noPartitioning,omitempty" tf:"no_partitioning,omitempty"` + // Remove default partition schemes at creation RemoveDefaultPartitionSchemes *bool `json:"removeDefaultPartitionSchemes,omitempty" tf:"remove_default_partition_schemes,omitempty"` - // This distribution supports installation using the distribution's native kernel instead of the recommended OVH kernel - SupportsDistributionKernel *bool `json:"supportsDistributionKernel,omitempty" tf:"supports_distribution_kernel,omitempty"` - - // This distribution supports RTM software - SupportsRtm *bool `json:"supportsRtm,omitempty" tf:"supports_rtm,omitempty"` + // Partitioning customization is available but limited to mirroring for this OS template + SoftRaidOnlyMirroring *bool `json:"softRaidOnlyMirroring,omitempty" tf:"soft_raid_only_mirroring,omitempty"` - // This distribution supports the microsoft SQL server - SupportsSQLServer *bool `json:"supportsSqlServer,omitempty" tf:"supports_sql_server,omitempty"` + // this template subfamily type + Subfamily *string `json:"subfamily,omitempty" tf:"subfamily,omitempty"` // This template name TemplateName *string `json:"templateName,omitempty" tf:"template_name,omitempty"` @@ -179,10 +149,6 @@ type InstallationTemplateParameters struct { // +kubebuilder:validation:Optional Customization []CustomizationParameters `json:"customization,omitempty" tf:"customization,omitempty"` - // The default language of this template - // +kubebuilder:validation:Optional - DefaultLanguage *string `json:"defaultLanguage,omitempty" tf:"default_language,omitempty"` - // Remove default partition schemes at creation // +kubebuilder:validation:Optional RemoveDefaultPartitionSchemes *bool `json:"removeDefaultPartitionSchemes,omitempty" tf:"remove_default_partition_schemes,omitempty"` @@ -220,8 +186,8 @@ type InstallationTemplateStatus struct { // +kubebuilder:storageversion // InstallationTemplate is the Schema for the InstallationTemplates 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} @@ -229,7 +195,6 @@ type InstallationTemplate struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.baseTemplateName) || (has(self.initProvider) && has(self.initProvider.baseTemplateName))",message="spec.forProvider.baseTemplateName is a required parameter" - // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.defaultLanguage) || (has(self.initProvider) && has(self.initProvider.defaultLanguage))",message="spec.forProvider.defaultLanguage is a required parameter" // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.templateName) || (has(self.initProvider) && has(self.initProvider.templateName))",message="spec.forProvider.templateName is a required parameter" Spec InstallationTemplateSpec `json:"spec"` Status InstallationTemplateStatus `json:"status,omitempty"` diff --git a/apis/dedicatedserver/v1alpha1/zz_installationtemplatepartitionscheme_types.go b/apis/dedicatedserver/v1alpha1/zz_installationtemplatepartitionscheme_types.go index 74d2ce9..b41a89e 100755 --- a/apis/dedicatedserver/v1alpha1/zz_installationtemplatepartitionscheme_types.go +++ b/apis/dedicatedserver/v1alpha1/zz_installationtemplatepartitionscheme_types.go @@ -81,8 +81,8 @@ type InstallationTemplatePartitionSchemeStatus struct { // +kubebuilder:storageversion // InstallationTemplatePartitionScheme is the Schema for the InstallationTemplatePartitionSchemes 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/dedicatedserver/v1alpha1/zz_installationtemplatepartitionschemehardwareraid_types.go b/apis/dedicatedserver/v1alpha1/zz_installationtemplatepartitionschemehardwareraid_types.go index dbac0be..18c7834 100755 --- a/apis/dedicatedserver/v1alpha1/zz_installationtemplatepartitionschemehardwareraid_types.go +++ b/apis/dedicatedserver/v1alpha1/zz_installationtemplatepartitionschemehardwareraid_types.go @@ -112,8 +112,8 @@ type InstallationTemplatePartitionSchemeHardwareRaidStatus struct { // +kubebuilder:storageversion // InstallationTemplatePartitionSchemeHardwareRaid is the Schema for the InstallationTemplatePartitionSchemeHardwareRaids 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/dedicatedserver/v1alpha1/zz_installationtemplatepartitionschemepartition_types.go b/apis/dedicatedserver/v1alpha1/zz_installationtemplatepartitionschemepartition_types.go index edbf5ce..0664725 100755 --- a/apis/dedicatedserver/v1alpha1/zz_installationtemplatepartitionschemepartition_types.go +++ b/apis/dedicatedserver/v1alpha1/zz_installationtemplatepartitionschemepartition_types.go @@ -142,8 +142,8 @@ type InstallationTemplatePartitionSchemePartitionStatus struct { // +kubebuilder:storageversion // InstallationTemplatePartitionSchemePartition is the Schema for the InstallationTemplatePartitionSchemePartitions 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/dedicatedserver/v1alpha1/zz_serverinstalltask_types.go b/apis/dedicatedserver/v1alpha1/zz_serverinstalltask_types.go index 77b47b8..4e2686d 100755 --- a/apis/dedicatedserver/v1alpha1/zz_serverinstalltask_types.go +++ b/apis/dedicatedserver/v1alpha1/zz_serverinstalltask_types.go @@ -15,21 +15,11 @@ import ( type DetailsInitParameters struct { - // Template change log details - ChangeLog *string `json:"changeLog,omitempty" tf:"change_log,omitempty"` - // Set up the server using the provided hostname instead of the default hostname CustomHostname *string `json:"customHostname,omitempty" tf:"custom_hostname,omitempty"` DiskGroupID *float64 `json:"diskGroupId,omitempty" tf:"disk_group_id,omitempty"` - InstallRtm *bool `json:"installRtm,omitempty" tf:"install_rtm,omitempty"` - - InstallSQLServer *bool `json:"installSqlServer,omitempty" tf:"install_sql_server,omitempty"` - - // language - Language *string `json:"language,omitempty" tf:"language,omitempty"` - NoRaid *bool `json:"noRaid,omitempty" tf:"no_raid,omitempty"` // Indicate the URL where your postinstall customisation script is located @@ -38,36 +28,16 @@ type DetailsInitParameters struct { // indicate the string returned by your postinstall customisation script on successful execution. Advice: your script should return a unique validation string in case of succes. A good example is 'loh1Xee7eo OK OK OK UGh8Ang1Gu' PostInstallationScriptReturn *string `json:"postInstallationScriptReturn,omitempty" tf:"post_installation_script_return,omitempty"` - ResetHwRaid *bool `json:"resetHwRaid,omitempty" tf:"reset_hw_raid,omitempty"` - - // Name of the ssh key that should be installed. Password login will be disabled - SSHKeyName *string `json:"sshKeyName,omitempty" tf:"ssh_key_name,omitempty"` - SoftRaidDevices *float64 `json:"softRaidDevices,omitempty" tf:"soft_raid_devices,omitempty"` - - // Use the distribution's native kernel instead of the recommended OVH Kernel - UseDistribKernel *bool `json:"useDistribKernel,omitempty" tf:"use_distrib_kernel,omitempty"` - - UseSpla *bool `json:"useSpla,omitempty" tf:"use_spla,omitempty"` } type DetailsObservation struct { - // Template change log details - ChangeLog *string `json:"changeLog,omitempty" tf:"change_log,omitempty"` - // Set up the server using the provided hostname instead of the default hostname CustomHostname *string `json:"customHostname,omitempty" tf:"custom_hostname,omitempty"` DiskGroupID *float64 `json:"diskGroupId,omitempty" tf:"disk_group_id,omitempty"` - InstallRtm *bool `json:"installRtm,omitempty" tf:"install_rtm,omitempty"` - - InstallSQLServer *bool `json:"installSqlServer,omitempty" tf:"install_sql_server,omitempty"` - - // language - Language *string `json:"language,omitempty" tf:"language,omitempty"` - NoRaid *bool `json:"noRaid,omitempty" tf:"no_raid,omitempty"` // Indicate the URL where your postinstall customisation script is located @@ -76,25 +46,11 @@ type DetailsObservation struct { // indicate the string returned by your postinstall customisation script on successful execution. Advice: your script should return a unique validation string in case of succes. A good example is 'loh1Xee7eo OK OK OK UGh8Ang1Gu' PostInstallationScriptReturn *string `json:"postInstallationScriptReturn,omitempty" tf:"post_installation_script_return,omitempty"` - ResetHwRaid *bool `json:"resetHwRaid,omitempty" tf:"reset_hw_raid,omitempty"` - - // Name of the ssh key that should be installed. Password login will be disabled - SSHKeyName *string `json:"sshKeyName,omitempty" tf:"ssh_key_name,omitempty"` - SoftRaidDevices *float64 `json:"softRaidDevices,omitempty" tf:"soft_raid_devices,omitempty"` - - // Use the distribution's native kernel instead of the recommended OVH Kernel - UseDistribKernel *bool `json:"useDistribKernel,omitempty" tf:"use_distrib_kernel,omitempty"` - - UseSpla *bool `json:"useSpla,omitempty" tf:"use_spla,omitempty"` } type DetailsParameters struct { - // Template change log details - // +kubebuilder:validation:Optional - ChangeLog *string `json:"changeLog,omitempty" tf:"change_log,omitempty"` - // Set up the server using the provided hostname instead of the default hostname // +kubebuilder:validation:Optional CustomHostname *string `json:"customHostname,omitempty" tf:"custom_hostname,omitempty"` @@ -102,16 +58,6 @@ type DetailsParameters struct { // +kubebuilder:validation:Optional DiskGroupID *float64 `json:"diskGroupId,omitempty" tf:"disk_group_id,omitempty"` - // +kubebuilder:validation:Optional - InstallRtm *bool `json:"installRtm,omitempty" tf:"install_rtm,omitempty"` - - // +kubebuilder:validation:Optional - InstallSQLServer *bool `json:"installSqlServer,omitempty" tf:"install_sql_server,omitempty"` - - // language - // +kubebuilder:validation:Optional - Language *string `json:"language,omitempty" tf:"language,omitempty"` - // +kubebuilder:validation:Optional NoRaid *bool `json:"noRaid,omitempty" tf:"no_raid,omitempty"` @@ -123,22 +69,8 @@ type DetailsParameters struct { // +kubebuilder:validation:Optional PostInstallationScriptReturn *string `json:"postInstallationScriptReturn,omitempty" tf:"post_installation_script_return,omitempty"` - // +kubebuilder:validation:Optional - ResetHwRaid *bool `json:"resetHwRaid,omitempty" tf:"reset_hw_raid,omitempty"` - - // Name of the ssh key that should be installed. Password login will be disabled - // +kubebuilder:validation:Optional - SSHKeyName *string `json:"sshKeyName,omitempty" tf:"ssh_key_name,omitempty"` - // +kubebuilder:validation:Optional SoftRaidDevices *float64 `json:"softRaidDevices,omitempty" tf:"soft_raid_devices,omitempty"` - - // Use the distribution's native kernel instead of the recommended OVH Kernel - // +kubebuilder:validation:Optional - UseDistribKernel *bool `json:"useDistribKernel,omitempty" tf:"use_distrib_kernel,omitempty"` - - // +kubebuilder:validation:Optional - UseSpla *bool `json:"useSpla,omitempty" tf:"use_spla,omitempty"` } type ServerInstallTaskInitParameters struct { @@ -156,6 +88,8 @@ type ServerInstallTaskInitParameters struct { // Template name TemplateName *string `json:"templateName,omitempty" tf:"template_name,omitempty"` + + UserMetadata []UserMetadataInitParameters `json:"userMetadata,omitempty" tf:"user_metadata,omitempty"` } type ServerInstallTaskObservation struct { @@ -193,6 +127,8 @@ type ServerInstallTaskObservation struct { // Template name TemplateName *string `json:"templateName,omitempty" tf:"template_name,omitempty"` + + UserMetadata []UserMetadataObservation `json:"userMetadata,omitempty" tf:"user_metadata,omitempty"` } type ServerInstallTaskParameters struct { @@ -215,6 +151,38 @@ type ServerInstallTaskParameters struct { // Template name // +kubebuilder:validation:Optional TemplateName *string `json:"templateName,omitempty" tf:"template_name,omitempty"` + + // +kubebuilder:validation:Optional + UserMetadata []UserMetadataParameters `json:"userMetadata,omitempty" tf:"user_metadata,omitempty"` +} + +type UserMetadataInitParameters struct { + + // The key for the user_metadata + Key *string `json:"key,omitempty" tf:"key,omitempty"` + + // The value for the user_metadata + Value *string `json:"value,omitempty" tf:"value,omitempty"` +} + +type UserMetadataObservation struct { + + // The key for the user_metadata + Key *string `json:"key,omitempty" tf:"key,omitempty"` + + // The value for the user_metadata + Value *string `json:"value,omitempty" tf:"value,omitempty"` +} + +type UserMetadataParameters struct { + + // The key for the user_metadata + // +kubebuilder:validation:Optional + Key *string `json:"key" tf:"key,omitempty"` + + // The value for the user_metadata + // +kubebuilder:validation:Optional + Value *string `json:"value" tf:"value,omitempty"` } // ServerInstallTaskSpec defines the desired state of ServerInstallTask @@ -245,8 +213,8 @@ type ServerInstallTaskStatus struct { // +kubebuilder:storageversion // ServerInstallTask is the Schema for the ServerInstallTasks 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/dedicatedserver/v1alpha1/zz_servernetworking_types.go b/apis/dedicatedserver/v1alpha1/zz_servernetworking_types.go index 6ffd999..442d513 100755 --- a/apis/dedicatedserver/v1alpha1/zz_servernetworking_types.go +++ b/apis/dedicatedserver/v1alpha1/zz_servernetworking_types.go @@ -110,8 +110,8 @@ type ServerNetworkingStatus struct { // +kubebuilder:storageversion // ServerNetworking is the Schema for the ServerNetworkings 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/dedicatedserver/v1alpha1/zz_serverreboottask_types.go b/apis/dedicatedserver/v1alpha1/zz_serverreboottask_types.go index cff542b..b4102e4 100755 --- a/apis/dedicatedserver/v1alpha1/zz_serverreboottask_types.go +++ b/apis/dedicatedserver/v1alpha1/zz_serverreboottask_types.go @@ -90,8 +90,8 @@ type ServerRebootTaskStatus struct { // +kubebuilder:storageversion // ServerRebootTask is the Schema for the ServerRebootTasks 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/dedicatedserver/v1alpha1/zz_serverupdate_types.go b/apis/dedicatedserver/v1alpha1/zz_serverupdate_types.go index 0a06e20..8a74e6f 100755 --- a/apis/dedicatedserver/v1alpha1/zz_serverupdate_types.go +++ b/apis/dedicatedserver/v1alpha1/zz_serverupdate_types.go @@ -21,6 +21,9 @@ type ServerUpdateInitParameters struct { // The boot script of your dedicated server. BootScript *string `json:"bootScript,omitempty" tf:"boot_script,omitempty"` + // Display name of the dedicated server + DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` + // Icmp monitoring state Monitoring *bool `json:"monitoring,omitempty" tf:"monitoring,omitempty"` @@ -39,6 +42,9 @@ type ServerUpdateObservation struct { // The boot script of your dedicated server. BootScript *string `json:"bootScript,omitempty" tf:"boot_script,omitempty"` + // Display name of the dedicated server + DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` + ID *string `json:"id,omitempty" tf:"id,omitempty"` // Icmp monitoring state @@ -61,6 +67,10 @@ type ServerUpdateParameters struct { // +kubebuilder:validation:Optional BootScript *string `json:"bootScript,omitempty" tf:"boot_script,omitempty"` + // Display name of the dedicated server + // +kubebuilder:validation:Optional + DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` + // Icmp monitoring state // +kubebuilder:validation:Optional Monitoring *bool `json:"monitoring,omitempty" tf:"monitoring,omitempty"` @@ -102,8 +112,8 @@ type ServerUpdateStatus struct { // +kubebuilder:storageversion // ServerUpdate is the Schema for the ServerUpdates 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/dns/v1alpha1/zz_generated.deepcopy.go b/apis/dns/v1alpha1/zz_generated.deepcopy.go index c557953..1738b1c 100644 --- a/apis/dns/v1alpha1/zz_generated.deepcopy.go +++ b/apis/dns/v1alpha1/zz_generated.deepcopy.go @@ -576,6 +576,11 @@ func (in *Zone) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ZoneInitParameters) DeepCopyInto(out *ZoneInitParameters) { *out = *in + if in.Order != nil { + in, out := &in.Order, &out.Order + *out = make([]OrderInitParameters, len(*in)) + copy(*out, *in) + } if in.OvhSubsidiary != nil { in, out := &in.OvhSubsidiary, &out.OvhSubsidiary *out = new(string) @@ -734,6 +739,11 @@ func (in *ZoneObservation) DeepCopy() *ZoneObservation { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ZoneParameters) DeepCopyInto(out *ZoneParameters) { *out = *in + if in.Order != nil { + in, out := &in.Order, &out.Order + *out = make([]OrderParameters, len(*in)) + copy(*out, *in) + } if in.OvhSubsidiary != nil { in, out := &in.OvhSubsidiary, &out.OvhSubsidiary *out = new(string) diff --git a/apis/dns/v1alpha1/zz_zone_types.go b/apis/dns/v1alpha1/zz_zone_types.go index 76da9b2..9e04d72 100755 --- a/apis/dns/v1alpha1/zz_zone_types.go +++ b/apis/dns/v1alpha1/zz_zone_types.go @@ -15,34 +15,28 @@ import ( type ConfigurationInitParameters struct { - // Identifier of the resource : zone or template // Identifier of the resource Label *string `json:"label,omitempty" tf:"label,omitempty"` - // For zone, the value is the zone name myzone.example.com. For template, the value can be basic, minimized or redirect which is the same as minimized with additional entries for a redirect configuration. // Path to the resource in API.OVH.COM Value *string `json:"value,omitempty" tf:"value,omitempty"` } type ConfigurationObservation struct { - // Identifier of the resource : zone or template // Identifier of the resource Label *string `json:"label,omitempty" tf:"label,omitempty"` - // For zone, the value is the zone name myzone.example.com. For template, the value can be basic, minimized or redirect which is the same as minimized with additional entries for a redirect configuration. // Path to the resource in API.OVH.COM Value *string `json:"value,omitempty" tf:"value,omitempty"` } type ConfigurationParameters struct { - // Identifier of the resource : zone or template // Identifier of the resource // +kubebuilder:validation:Optional Label *string `json:"label" tf:"label,omitempty"` - // For zone, the value is the zone name myzone.example.com. For template, the value can be basic, minimized or redirect which is the same as minimized with additional entries for a redirect configuration. // Path to the resource in API.OVH.COM // +kubebuilder:validation:Optional Value *string `json:"value" tf:"value,omitempty"` @@ -52,17 +46,12 @@ type DetailsInitParameters struct { } type DetailsObservation struct { - - // description Description *string `json:"description,omitempty" tf:"description,omitempty"` - // expiration date Domain *string `json:"domain,omitempty" tf:"domain,omitempty"` - // order detail id OrderDetailID *float64 `json:"orderDetailId,omitempty" tf:"order_detail_id,omitempty"` - // quantity Quantity *string `json:"quantity,omitempty" tf:"quantity,omitempty"` } @@ -92,80 +81,64 @@ type OrderParameters struct { type PlanInitParameters struct { - // Catalog name // Catalog name CatalogName *string `json:"catalogName,omitempty" tf:"catalog_name,omitempty"` - // Representation of a configuration item for personalizing product. 2 configurations are required : one for zone and one for template // Representation of a configuration item for personalizing product Configuration []ConfigurationInitParameters `json:"configuration,omitempty" tf:"configuration,omitempty"` - // duration // duration Duration *string `json:"duration,omitempty" tf:"duration,omitempty"` - // Plan code // Plan code PlanCode *string `json:"planCode,omitempty" tf:"plan_code,omitempty"` - // Pricing model identifier // Pricing model identifier PricingMode *string `json:"pricingMode,omitempty" tf:"pricing_mode,omitempty"` } type PlanObservation struct { - // Catalog name // Catalog name CatalogName *string `json:"catalogName,omitempty" tf:"catalog_name,omitempty"` - // Representation of a configuration item for personalizing product. 2 configurations are required : one for zone and one for template // Representation of a configuration item for personalizing product Configuration []ConfigurationObservation `json:"configuration,omitempty" tf:"configuration,omitempty"` - // duration // duration Duration *string `json:"duration,omitempty" tf:"duration,omitempty"` - // Plan code // Plan code PlanCode *string `json:"planCode,omitempty" tf:"plan_code,omitempty"` - // Pricing model identifier // Pricing model identifier PricingMode *string `json:"pricingMode,omitempty" tf:"pricing_mode,omitempty"` } type PlanOptionConfigurationInitParameters struct { - // Identifier of the resource : zone or template // Identifier of the resource Label *string `json:"label,omitempty" tf:"label,omitempty"` - // For zone, the value is the zone name myzone.example.com. For template, the value can be basic, minimized or redirect which is the same as minimized with additional entries for a redirect configuration. // Path to the resource in API.OVH.COM Value *string `json:"value,omitempty" tf:"value,omitempty"` } type PlanOptionConfigurationObservation struct { - // Identifier of the resource : zone or template // Identifier of the resource Label *string `json:"label,omitempty" tf:"label,omitempty"` - // For zone, the value is the zone name myzone.example.com. For template, the value can be basic, minimized or redirect which is the same as minimized with additional entries for a redirect configuration. // Path to the resource in API.OVH.COM Value *string `json:"value,omitempty" tf:"value,omitempty"` } type PlanOptionConfigurationParameters struct { - // Identifier of the resource : zone or template // Identifier of the resource // +kubebuilder:validation:Optional Label *string `json:"label" tf:"label,omitempty"` - // For zone, the value is the zone name myzone.example.com. For template, the value can be basic, minimized or redirect which is the same as minimized with additional entries for a redirect configuration. // Path to the resource in API.OVH.COM // +kubebuilder:validation:Optional Value *string `json:"value" tf:"value,omitempty"` @@ -173,73 +146,58 @@ type PlanOptionConfigurationParameters struct { type PlanOptionInitParameters struct { - // Catalog name // Catalog name CatalogName *string `json:"catalogName,omitempty" tf:"catalog_name,omitempty"` - // Representation of a configuration item for personalizing product. 2 configurations are required : one for zone and one for template // Representation of a configuration item for personalizing product Configuration []PlanOptionConfigurationInitParameters `json:"configuration,omitempty" tf:"configuration,omitempty"` - // duration // duration Duration *string `json:"duration,omitempty" tf:"duration,omitempty"` - // Plan code // Plan code PlanCode *string `json:"planCode,omitempty" tf:"plan_code,omitempty"` - // Pricing model identifier // Pricing model identifier PricingMode *string `json:"pricingMode,omitempty" tf:"pricing_mode,omitempty"` } type PlanOptionObservation struct { - // Catalog name // Catalog name CatalogName *string `json:"catalogName,omitempty" tf:"catalog_name,omitempty"` - // Representation of a configuration item for personalizing product. 2 configurations are required : one for zone and one for template // Representation of a configuration item for personalizing product Configuration []PlanOptionConfigurationObservation `json:"configuration,omitempty" tf:"configuration,omitempty"` - // duration // duration Duration *string `json:"duration,omitempty" tf:"duration,omitempty"` - // Plan code // Plan code PlanCode *string `json:"planCode,omitempty" tf:"plan_code,omitempty"` - // Pricing model identifier // Pricing model identifier PricingMode *string `json:"pricingMode,omitempty" tf:"pricing_mode,omitempty"` } type PlanOptionParameters struct { - // Catalog name // Catalog name // +kubebuilder:validation:Optional CatalogName *string `json:"catalogName,omitempty" tf:"catalog_name,omitempty"` - // Representation of a configuration item for personalizing product. 2 configurations are required : one for zone and one for template // Representation of a configuration item for personalizing product // +kubebuilder:validation:Optional Configuration []PlanOptionConfigurationParameters `json:"configuration,omitempty" tf:"configuration,omitempty"` - // duration // duration // +kubebuilder:validation:Optional Duration *string `json:"duration" tf:"duration,omitempty"` - // Plan code // Plan code // +kubebuilder:validation:Optional PlanCode *string `json:"planCode" tf:"plan_code,omitempty"` - // Pricing model identifier // Pricing model identifier // +kubebuilder:validation:Optional PricingMode *string `json:"pricingMode" tf:"pricing_mode,omitempty"` @@ -247,27 +205,22 @@ type PlanOptionParameters struct { type PlanParameters struct { - // Catalog name // Catalog name // +kubebuilder:validation:Optional CatalogName *string `json:"catalogName,omitempty" tf:"catalog_name,omitempty"` - // Representation of a configuration item for personalizing product. 2 configurations are required : one for zone and one for template // Representation of a configuration item for personalizing product // +kubebuilder:validation:Optional Configuration []ConfigurationParameters `json:"configuration,omitempty" tf:"configuration,omitempty"` - // duration // duration // +kubebuilder:validation:Optional Duration *string `json:"duration" tf:"duration,omitempty"` - // Plan code // Plan code // +kubebuilder:validation:Optional PlanCode *string `json:"planCode" tf:"plan_code,omitempty"` - // Pricing model identifier // Pricing model identifier // +kubebuilder:validation:Optional PricingMode *string `json:"pricingMode" tf:"pricing_mode,omitempty"` @@ -275,62 +228,53 @@ type PlanParameters struct { type ZoneInitParameters struct { - // OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at /1.0/me.json under + // Details about an Order + Order []OrderInitParameters `json:"order,omitempty" tf:"order,omitempty"` + // Ovh Subsidiary OvhSubsidiary *string `json:"ovhSubsidiary,omitempty" tf:"ovh_subsidiary,omitempty"` // Ovh payment mode PaymentMean *string `json:"paymentMean,omitempty" tf:"payment_mean,omitempty"` - // Product Plan to order // Product Plan to order Plan []PlanInitParameters `json:"plan,omitempty" tf:"plan,omitempty"` - // Product Plan to order // Product Plan to order PlanOption []PlanOptionInitParameters `json:"planOption,omitempty" tf:"plan_option,omitempty"` } type ZoneObservation struct { - // Is DNSSEC supported by this zone // Is DNSSEC supported by this zone DNSSECSupported *bool `json:"dnssecSupported,omitempty" tf:"dnssec_supported,omitempty"` - // hasDnsAnycast flag of the DNS zone // hasDnsAnycast flag of the DNS zone HasDNSAnycast *bool `json:"hasDnsAnycast,omitempty" tf:"has_dns_anycast,omitempty"` ID *string `json:"id,omitempty" tf:"id,omitempty"` - // Last update date of the DNS zone // Last update date of the DNS zone LastUpdate *string `json:"lastUpdate,omitempty" tf:"last_update,omitempty"` - // Zone name // Zone name Name *string `json:"name,omitempty" tf:"name,omitempty"` - // Name servers that host the DNS zone // Name servers that host the DNS zone NameServers []*string `json:"nameServers,omitempty" tf:"name_servers,omitempty"` - // Details about an Order // Details about an Order Order []OrderObservation `json:"order,omitempty" tf:"order,omitempty"` - // OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at /1.0/me.json under // Ovh Subsidiary OvhSubsidiary *string `json:"ovhSubsidiary,omitempty" tf:"ovh_subsidiary,omitempty"` // Ovh payment mode PaymentMean *string `json:"paymentMean,omitempty" tf:"payment_mean,omitempty"` - // Product Plan to order // Product Plan to order Plan []PlanObservation `json:"plan,omitempty" tf:"plan,omitempty"` - // Product Plan to order // Product Plan to order PlanOption []PlanOptionObservation `json:"planOption,omitempty" tf:"plan_option,omitempty"` @@ -339,7 +283,10 @@ type ZoneObservation struct { type ZoneParameters struct { - // OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at /1.0/me.json under + // Details about an Order + // +kubebuilder:validation:Optional + Order []OrderParameters `json:"order,omitempty" tf:"order,omitempty"` + // Ovh Subsidiary // +kubebuilder:validation:Optional OvhSubsidiary *string `json:"ovhSubsidiary,omitempty" tf:"ovh_subsidiary,omitempty"` @@ -348,12 +295,10 @@ type ZoneParameters struct { // +kubebuilder:validation:Optional PaymentMean *string `json:"paymentMean,omitempty" tf:"payment_mean,omitempty"` - // Product Plan to order // Product Plan to order // +kubebuilder:validation:Optional Plan []PlanParameters `json:"plan,omitempty" tf:"plan,omitempty"` - // Product Plan to order // Product Plan to order // +kubebuilder:validation:Optional PlanOption []PlanOptionParameters `json:"planOption,omitempty" tf:"plan_option,omitempty"` @@ -386,9 +331,9 @@ type ZoneStatus struct { // +kubebuilder:subresource:status // +kubebuilder:storageversion -// Zone is the Schema for the Zones API. ovh_domain_zone.html.markdownsubcategory : "Domain names" -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// Zone is the Schema for the Zones API. // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/dns/v1alpha1/zz_zonerecord_types.go b/apis/dns/v1alpha1/zz_zonerecord_types.go index 3d24f47..4500f0c 100755 --- a/apis/dns/v1alpha1/zz_zonerecord_types.go +++ b/apis/dns/v1alpha1/zz_zonerecord_types.go @@ -14,63 +14,45 @@ import ( ) type ZoneRecordInitParameters struct { - - // The type of the record Fieldtype *string `json:"fieldtype,omitempty" tf:"fieldtype,omitempty"` - // The name of the record. It can be an empty string. Subdomain *string `json:"subdomain,omitempty" tf:"subdomain,omitempty"` - // The TTL of the record, it shall be >= to 60. TTL *float64 `json:"ttl,omitempty" tf:"ttl,omitempty"` - // The value of the record Target *string `json:"target,omitempty" tf:"target,omitempty"` - // The domain to add the record to Zone *string `json:"zone,omitempty" tf:"zone,omitempty"` } type ZoneRecordObservation struct { - - // The type of the record Fieldtype *string `json:"fieldtype,omitempty" tf:"fieldtype,omitempty"` - // The record ID ID *string `json:"id,omitempty" tf:"id,omitempty"` - // The name of the record. It can be an empty string. Subdomain *string `json:"subdomain,omitempty" tf:"subdomain,omitempty"` - // The TTL of the record, it shall be >= to 60. TTL *float64 `json:"ttl,omitempty" tf:"ttl,omitempty"` - // The value of the record Target *string `json:"target,omitempty" tf:"target,omitempty"` - // The domain to add the record to Zone *string `json:"zone,omitempty" tf:"zone,omitempty"` } type ZoneRecordParameters struct { - // The type of the record // +kubebuilder:validation:Optional Fieldtype *string `json:"fieldtype,omitempty" tf:"fieldtype,omitempty"` - // The name of the record. It can be an empty string. // +kubebuilder:validation:Optional Subdomain *string `json:"subdomain,omitempty" tf:"subdomain,omitempty"` - // The TTL of the record, it shall be >= to 60. // +kubebuilder:validation:Optional TTL *float64 `json:"ttl,omitempty" tf:"ttl,omitempty"` - // The value of the record // +kubebuilder:validation:Optional Target *string `json:"target,omitempty" tf:"target,omitempty"` - // The domain to add the record to // +kubebuilder:validation:Optional Zone *string `json:"zone,omitempty" tf:"zone,omitempty"` } @@ -102,9 +84,9 @@ type ZoneRecordStatus struct { // +kubebuilder:subresource:status // +kubebuilder:storageversion -// ZoneRecord is the Schema for the ZoneRecords API. ovh_domain_zone_record.html.markdownsubcategory : "Domain names" -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// ZoneRecord is the Schema for the ZoneRecords API. // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/dns/v1alpha1/zz_zoneredirection_types.go b/apis/dns/v1alpha1/zz_zoneredirection_types.go index e0c9ed6..a1f4d8d 100755 --- a/apis/dns/v1alpha1/zz_zoneredirection_types.go +++ b/apis/dns/v1alpha1/zz_zoneredirection_types.go @@ -14,83 +14,59 @@ import ( ) type ZoneRedirectionInitParameters struct { - - // A description of this redirection Description *string `json:"description,omitempty" tf:"description,omitempty"` - // Keywords to describe this redirection Keywords *string `json:"keywords,omitempty" tf:"keywords,omitempty"` - // The name of the redirection Subdomain *string `json:"subdomain,omitempty" tf:"subdomain,omitempty"` - // The value of the redirection Target *string `json:"target,omitempty" tf:"target,omitempty"` - // Title of this redirection Title *string `json:"title,omitempty" tf:"title,omitempty"` - // The type of the redirection, with values: Type *string `json:"type,omitempty" tf:"type,omitempty"` - // The domain to add the redirection to Zone *string `json:"zone,omitempty" tf:"zone,omitempty"` } type ZoneRedirectionObservation struct { - - // A description of this redirection Description *string `json:"description,omitempty" tf:"description,omitempty"` - // The redirection ID ID *string `json:"id,omitempty" tf:"id,omitempty"` - // Keywords to describe this redirection Keywords *string `json:"keywords,omitempty" tf:"keywords,omitempty"` - // The name of the redirection Subdomain *string `json:"subdomain,omitempty" tf:"subdomain,omitempty"` - // The value of the redirection Target *string `json:"target,omitempty" tf:"target,omitempty"` - // Title of this redirection Title *string `json:"title,omitempty" tf:"title,omitempty"` - // The type of the redirection, with values: Type *string `json:"type,omitempty" tf:"type,omitempty"` - // The domain to add the redirection to Zone *string `json:"zone,omitempty" tf:"zone,omitempty"` } type ZoneRedirectionParameters struct { - // A description of this redirection // +kubebuilder:validation:Optional Description *string `json:"description,omitempty" tf:"description,omitempty"` - // Keywords to describe this redirection // +kubebuilder:validation:Optional Keywords *string `json:"keywords,omitempty" tf:"keywords,omitempty"` - // The name of the redirection // +kubebuilder:validation:Optional Subdomain *string `json:"subdomain,omitempty" tf:"subdomain,omitempty"` - // The value of the redirection // +kubebuilder:validation:Optional Target *string `json:"target,omitempty" tf:"target,omitempty"` - // Title of this redirection // +kubebuilder:validation:Optional Title *string `json:"title,omitempty" tf:"title,omitempty"` - // The type of the redirection, with values: // +kubebuilder:validation:Optional Type *string `json:"type,omitempty" tf:"type,omitempty"` - // The domain to add the redirection to // +kubebuilder:validation:Optional Zone *string `json:"zone,omitempty" tf:"zone,omitempty"` } @@ -122,9 +98,9 @@ type ZoneRedirectionStatus struct { // +kubebuilder:subresource:status // +kubebuilder:storageversion -// ZoneRedirection is the Schema for the ZoneRedirections API. ovh_domain_zone_redirection.html.markdownsubcategory : "Domain names" -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// ZoneRedirection is the Schema for the ZoneRedirections API. // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/gateway/v1alpha1/zz_generated.deepcopy.go b/apis/gateway/v1alpha1/zz_generated.deepcopy.go index 0062d83..42590e0 100644 --- a/apis/gateway/v1alpha1/zz_generated.deepcopy.go +++ b/apis/gateway/v1alpha1/zz_generated.deepcopy.go @@ -13,6 +13,183 @@ import ( runtime "k8s.io/apimachinery/pkg/runtime" ) +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExternalInformationInitParameters) DeepCopyInto(out *ExternalInformationInitParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalInformationInitParameters. +func (in *ExternalInformationInitParameters) DeepCopy() *ExternalInformationInitParameters { + if in == nil { + return nil + } + out := new(ExternalInformationInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExternalInformationObservation) DeepCopyInto(out *ExternalInformationObservation) { + *out = *in + if in.Ips != nil { + in, out := &in.Ips, &out.Ips + *out = make([]IpsObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.NetworkID != nil { + in, out := &in.NetworkID, &out.NetworkID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalInformationObservation. +func (in *ExternalInformationObservation) DeepCopy() *ExternalInformationObservation { + if in == nil { + return nil + } + out := new(ExternalInformationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExternalInformationParameters) DeepCopyInto(out *ExternalInformationParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalInformationParameters. +func (in *ExternalInformationParameters) DeepCopy() *ExternalInformationParameters { + if in == nil { + return nil + } + out := new(ExternalInformationParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InterfacesInitParameters) DeepCopyInto(out *InterfacesInitParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InterfacesInitParameters. +func (in *InterfacesInitParameters) DeepCopy() *InterfacesInitParameters { + if in == nil { + return nil + } + out := new(InterfacesInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InterfacesObservation) DeepCopyInto(out *InterfacesObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.IP != nil { + in, out := &in.IP, &out.IP + *out = new(string) + **out = **in + } + if in.NetworkID != nil { + in, out := &in.NetworkID, &out.NetworkID + *out = new(string) + **out = **in + } + if in.SubnetID != nil { + in, out := &in.SubnetID, &out.SubnetID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InterfacesObservation. +func (in *InterfacesObservation) DeepCopy() *InterfacesObservation { + if in == nil { + return nil + } + out := new(InterfacesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InterfacesParameters) DeepCopyInto(out *InterfacesParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InterfacesParameters. +func (in *InterfacesParameters) DeepCopy() *InterfacesParameters { + if in == nil { + return nil + } + out := new(InterfacesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IpsInitParameters) DeepCopyInto(out *IpsInitParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IpsInitParameters. +func (in *IpsInitParameters) DeepCopy() *IpsInitParameters { + if in == nil { + return nil + } + out := new(IpsInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IpsObservation) DeepCopyInto(out *IpsObservation) { + *out = *in + if in.IP != nil { + in, out := &in.IP, &out.IP + *out = new(string) + **out = **in + } + if in.SubnetID != nil { + in, out := &in.SubnetID, &out.SubnetID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IpsObservation. +func (in *IpsObservation) DeepCopy() *IpsObservation { + if in == nil { + return nil + } + out := new(IpsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IpsParameters) DeepCopyInto(out *IpsParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IpsParameters. +func (in *IpsParameters) DeepCopy() *IpsParameters { + if in == nil { + return nil + } + out := new(IpsParameters) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ProjectGateway) DeepCopyInto(out *ProjectGateway) { *out = *in @@ -140,11 +317,25 @@ func (in *ProjectGatewayList) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ProjectGatewayObservation) DeepCopyInto(out *ProjectGatewayObservation) { *out = *in + if in.ExternalInformation != nil { + in, out := &in.ExternalInformation, &out.ExternalInformation + *out = make([]ExternalInformationObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } if in.ID != nil { in, out := &in.ID, &out.ID *out = new(string) **out = **in } + if in.Interfaces != nil { + in, out := &in.Interfaces, &out.Interfaces + *out = make([]InterfacesObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } if in.Model != nil { in, out := &in.Model, &out.Model *out = new(string) diff --git a/apis/gateway/v1alpha1/zz_projectgateway_types.go b/apis/gateway/v1alpha1/zz_projectgateway_types.go index 4aead45..24a90f0 100755 --- a/apis/gateway/v1alpha1/zz_projectgateway_types.go +++ b/apis/gateway/v1alpha1/zz_projectgateway_types.go @@ -13,6 +13,46 @@ import ( v1 "github.com/crossplane/crossplane-runtime/apis/common/v1" ) +type ExternalInformationInitParameters struct { +} + +type ExternalInformationObservation struct { + Ips []IpsObservation `json:"ips,omitempty" tf:"ips,omitempty"` + + NetworkID *string `json:"networkId,omitempty" tf:"network_id,omitempty"` +} + +type ExternalInformationParameters struct { +} + +type InterfacesInitParameters struct { +} + +type InterfacesObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + IP *string `json:"ip,omitempty" tf:"ip,omitempty"` + + NetworkID *string `json:"networkId,omitempty" tf:"network_id,omitempty"` + + SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"` +} + +type InterfacesParameters struct { +} + +type IpsInitParameters struct { +} + +type IpsObservation struct { + IP *string `json:"ip,omitempty" tf:"ip,omitempty"` + + SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"` +} + +type IpsParameters struct { +} + type ProjectGatewayInitParameters struct { Model *string `json:"model,omitempty" tf:"model,omitempty"` @@ -47,8 +87,15 @@ type ProjectGatewayInitParameters struct { } type ProjectGatewayObservation struct { + + // External information of the gateway + ExternalInformation []ExternalInformationObservation `json:"externalInformation,omitempty" tf:"external_information,omitempty"` + ID *string `json:"id,omitempty" tf:"id,omitempty"` + // Interfaces list of the gateway + Interfaces []InterfacesObservation `json:"interfaces,omitempty" tf:"interfaces,omitempty"` + Model *string `json:"model,omitempty" tf:"model,omitempty"` Name *string `json:"name,omitempty" tf:"name,omitempty"` @@ -133,8 +180,8 @@ type ProjectGatewayStatus struct { // +kubebuilder:storageversion // ProjectGateway is the Schema for the ProjectGateways 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/iam/v1alpha1/zz_iampermissionsgroup_types.go b/apis/iam/v1alpha1/zz_iampermissionsgroup_types.go index 3c63808..237397a 100755 --- a/apis/iam/v1alpha1/zz_iampermissionsgroup_types.go +++ b/apis/iam/v1alpha1/zz_iampermissionsgroup_types.go @@ -109,8 +109,8 @@ type IAMPermissionsGroupStatus struct { // +kubebuilder:storageversion // IAMPermissionsGroup is the Schema for the IAMPermissionsGroups 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/iam/v1alpha1/zz_iampolicy_types.go b/apis/iam/v1alpha1/zz_iampolicy_types.go index 2dd4e87..da45125 100755 --- a/apis/iam/v1alpha1/zz_iampolicy_types.go +++ b/apis/iam/v1alpha1/zz_iampolicy_types.go @@ -134,8 +134,8 @@ type IAMPolicyStatus struct { // +kubebuilder:storageversion // IAMPolicy is the Schema for the IAMPolicys 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/iam/v1alpha1/zz_iamresourcegroup_types.go b/apis/iam/v1alpha1/zz_iamresourcegroup_types.go index 9a777fc..9c99ec7 100755 --- a/apis/iam/v1alpha1/zz_iamresourcegroup_types.go +++ b/apis/iam/v1alpha1/zz_iamresourcegroup_types.go @@ -77,8 +77,8 @@ type IAMResourceGroupStatus struct { // +kubebuilder:storageversion // IAMResourceGroup is the Schema for the IAMResourceGroups 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/kube/v1alpha1/zz_cluster_types.go b/apis/kube/v1alpha1/zz_cluster_types.go index e36a27b..5a7cf47 100755 --- a/apis/kube/v1alpha1/zz_cluster_types.go +++ b/apis/kube/v1alpha1/zz_cluster_types.go @@ -57,8 +57,12 @@ type ClusterInitParameters struct { KubeProxyMode *string `json:"kubeProxyMode,omitempty" tf:"kube_proxy_mode,omitempty"` + LoadBalancersSubnetID *string `json:"loadBalancersSubnetId,omitempty" tf:"load_balancers_subnet_id,omitempty"` + Name *string `json:"name,omitempty" tf:"name,omitempty"` + NodesSubnetID *string `json:"nodesSubnetId,omitempty" tf:"nodes_subnet_id,omitempty"` + PrivateNetworkConfiguration []PrivateNetworkConfigurationInitParameters `json:"privateNetworkConfiguration,omitempty" tf:"private_network_configuration,omitempty"` // +crossplane:generate:reference:type=github.com/edixos/provider-ovh/apis/network/v1alpha1.PrivateNetwork @@ -96,11 +100,15 @@ type ClusterObservation struct { KubeProxyMode *string `json:"kubeProxyMode,omitempty" tf:"kube_proxy_mode,omitempty"` + LoadBalancersSubnetID *string `json:"loadBalancersSubnetId,omitempty" tf:"load_balancers_subnet_id,omitempty"` + Name *string `json:"name,omitempty" tf:"name,omitempty"` // +listType=set NextUpgradeVersions []*string `json:"nextUpgradeVersions,omitempty" tf:"next_upgrade_versions,omitempty"` + NodesSubnetID *string `json:"nodesSubnetId,omitempty" tf:"nodes_subnet_id,omitempty"` + NodesURL *string `json:"nodesUrl,omitempty" tf:"nodes_url,omitempty"` PrivateNetworkConfiguration []PrivateNetworkConfigurationObservation `json:"privateNetworkConfiguration,omitempty" tf:"private_network_configuration,omitempty"` @@ -134,9 +142,15 @@ type ClusterParameters struct { // +kubebuilder:validation:Optional KubeProxyMode *string `json:"kubeProxyMode,omitempty" tf:"kube_proxy_mode,omitempty"` + // +kubebuilder:validation:Optional + LoadBalancersSubnetID *string `json:"loadBalancersSubnetId,omitempty" tf:"load_balancers_subnet_id,omitempty"` + // +kubebuilder:validation:Optional Name *string `json:"name,omitempty" tf:"name,omitempty"` + // +kubebuilder:validation:Optional + NodesSubnetID *string `json:"nodesSubnetId,omitempty" tf:"nodes_subnet_id,omitempty"` + // +kubebuilder:validation:Optional PrivateNetworkConfiguration []PrivateNetworkConfigurationParameters `json:"privateNetworkConfiguration,omitempty" tf:"private_network_configuration,omitempty"` @@ -378,8 +392,8 @@ type ClusterStatus struct { // +kubebuilder:storageversion // Cluster is the Schema for the Clusters 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/kube/v1alpha1/zz_generated.deepcopy.go b/apis/kube/v1alpha1/zz_generated.deepcopy.go index f6c62ce..3052bcc 100644 --- a/apis/kube/v1alpha1/zz_generated.deepcopy.go +++ b/apis/kube/v1alpha1/zz_generated.deepcopy.go @@ -246,11 +246,21 @@ func (in *ClusterInitParameters) DeepCopyInto(out *ClusterInitParameters) { *out = new(string) **out = **in } + if in.LoadBalancersSubnetID != nil { + in, out := &in.LoadBalancersSubnetID, &out.LoadBalancersSubnetID + *out = new(string) + **out = **in + } if in.Name != nil { in, out := &in.Name, &out.Name *out = new(string) **out = **in } + if in.NodesSubnetID != nil { + in, out := &in.NodesSubnetID, &out.NodesSubnetID + *out = new(string) + **out = **in + } if in.PrivateNetworkConfiguration != nil { in, out := &in.PrivateNetworkConfiguration, &out.PrivateNetworkConfiguration *out = make([]PrivateNetworkConfigurationInitParameters, len(*in)) @@ -381,6 +391,11 @@ func (in *ClusterObservation) DeepCopyInto(out *ClusterObservation) { *out = new(string) **out = **in } + if in.LoadBalancersSubnetID != nil { + in, out := &in.LoadBalancersSubnetID, &out.LoadBalancersSubnetID + *out = new(string) + **out = **in + } if in.Name != nil { in, out := &in.Name, &out.Name *out = new(string) @@ -397,6 +412,11 @@ func (in *ClusterObservation) DeepCopyInto(out *ClusterObservation) { } } } + if in.NodesSubnetID != nil { + in, out := &in.NodesSubnetID, &out.NodesSubnetID + *out = new(string) + **out = **in + } if in.NodesURL != nil { in, out := &in.NodesURL, &out.NodesURL *out = new(string) @@ -485,11 +505,21 @@ func (in *ClusterParameters) DeepCopyInto(out *ClusterParameters) { *out = new(string) **out = **in } + if in.LoadBalancersSubnetID != nil { + in, out := &in.LoadBalancersSubnetID, &out.LoadBalancersSubnetID + *out = new(string) + **out = **in + } if in.Name != nil { in, out := &in.Name, &out.Name *out = new(string) **out = **in } + if in.NodesSubnetID != nil { + in, out := &in.NodesSubnetID, &out.NodesSubnetID + *out = new(string) + **out = **in + } if in.PrivateNetworkConfiguration != nil { in, out := &in.PrivateNetworkConfiguration, &out.PrivateNetworkConfiguration *out = make([]PrivateNetworkConfigurationParameters, len(*in)) diff --git a/apis/kube/v1alpha1/zz_iprestriction_types.go b/apis/kube/v1alpha1/zz_iprestriction_types.go index 7b91cde..aba6bb5 100755 --- a/apis/kube/v1alpha1/zz_iprestriction_types.go +++ b/apis/kube/v1alpha1/zz_iprestriction_types.go @@ -102,8 +102,8 @@ type IpRestrictionStatus struct { // +kubebuilder:storageversion // IpRestriction is the Schema for the IpRestrictions 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/kube/v1alpha1/zz_nodepool_types.go b/apis/kube/v1alpha1/zz_nodepool_types.go index f8be7bd..2d984a7 100755 --- a/apis/kube/v1alpha1/zz_nodepool_types.go +++ b/apis/kube/v1alpha1/zz_nodepool_types.go @@ -340,8 +340,8 @@ type NodePoolStatus struct { // +kubebuilder:storageversion // NodePool is the Schema for the NodePools 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/kube/v1alpha1/zz_oidcconfiguration_types.go b/apis/kube/v1alpha1/zz_oidcconfiguration_types.go index 6769943..b8f7a4b 100755 --- a/apis/kube/v1alpha1/zz_oidcconfiguration_types.go +++ b/apis/kube/v1alpha1/zz_oidcconfiguration_types.go @@ -145,8 +145,8 @@ type OIDCConfigurationStatus struct { // +kubebuilder:storageversion // OIDCConfiguration is the Schema for the OIDCConfigurations 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/lb/v1alpha1/zz_generated.conversion_hubs.go b/apis/lb/v1alpha1/zz_generated.conversion_hubs.go index 23c4fc7..ccc58ee 100755 --- a/apis/lb/v1alpha1/zz_generated.conversion_hubs.go +++ b/apis/lb/v1alpha1/zz_generated.conversion_hubs.go @@ -6,9 +6,6 @@ Copyright 2022 Upbound Inc. package v1alpha1 -// Hub marks this type as a conversion hub. -func (tr *Iploadbalancing) Hub() {} - // Hub marks this type as a conversion hub. func (tr *HTTPFarm) Hub() {} @@ -24,6 +21,9 @@ func (tr *HTTPRoute) Hub() {} // Hub marks this type as a conversion hub. func (tr *HTTPRouteRule) Hub() {} +// Hub marks this type as a conversion hub. +func (tr *Iploadbalancing) Hub() {} + // Hub marks this type as a conversion hub. func (tr *Refresh) Hub() {} diff --git a/apis/lb/v1alpha1/zz_generated.deepcopy.go b/apis/lb/v1alpha1/zz_generated.deepcopy.go index 585e137..ff4e520 100644 --- a/apis/lb/v1alpha1/zz_generated.deepcopy.go +++ b/apis/lb/v1alpha1/zz_generated.deepcopy.go @@ -1785,6 +1785,11 @@ func (in *IploadbalancingInitParameters) DeepCopyInto(out *IploadbalancingInitPa *out = new(string) **out = **in } + if in.Order != nil { + in, out := &in.Order, &out.Order + *out = make([]OrderInitParameters, len(*in)) + copy(*out, *in) + } if in.OvhSubsidiary != nil { in, out := &in.OvhSubsidiary, &out.OvhSubsidiary *out = new(string) @@ -1990,6 +1995,11 @@ func (in *IploadbalancingParameters) DeepCopyInto(out *IploadbalancingParameters *out = new(string) **out = **in } + if in.Order != nil { + in, out := &in.Order, &out.Order + *out = make([]OrderParameters, len(*in)) + copy(*out, *in) + } if in.OvhSubsidiary != nil { in, out := &in.OvhSubsidiary, &out.OvhSubsidiary *out = new(string) @@ -3813,6 +3823,17 @@ func (in *TCPFrontendInitParameters) DeepCopyInto(out *TCPFrontendInitParameters *out = new(float64) **out = **in } + if in.DeniedSource != nil { + in, out := &in.DeniedSource, &out.DeniedSource + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } if in.Disabled != nil { in, out := &in.Disabled, &out.Disabled *out = new(bool) @@ -3922,6 +3943,17 @@ func (in *TCPFrontendObservation) DeepCopyInto(out *TCPFrontendObservation) { *out = new(float64) **out = **in } + if in.DeniedSource != nil { + in, out := &in.DeniedSource, &out.DeniedSource + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } if in.Disabled != nil { in, out := &in.Disabled, &out.Disabled *out = new(bool) @@ -4004,6 +4036,17 @@ func (in *TCPFrontendParameters) DeepCopyInto(out *TCPFrontendParameters) { *out = new(float64) **out = **in } + if in.DeniedSource != nil { + in, out := &in.DeniedSource, &out.DeniedSource + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } if in.Disabled != nil { in, out := &in.Disabled, &out.Disabled *out = new(bool) diff --git a/apis/lb/v1alpha1/zz_httpfarm_types.go b/apis/lb/v1alpha1/zz_httpfarm_types.go index 17f79dc..f6a0b3b 100755 --- a/apis/lb/v1alpha1/zz_httpfarm_types.go +++ b/apis/lb/v1alpha1/zz_httpfarm_types.go @@ -176,8 +176,8 @@ type HTTPFarmStatus struct { // +kubebuilder:storageversion // HTTPFarm is the Schema for the HTTPFarms 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/lb/v1alpha1/zz_httpfarmserver_types.go b/apis/lb/v1alpha1/zz_httpfarmserver_types.go index 424fb72..876a9ee 100755 --- a/apis/lb/v1alpha1/zz_httpfarmserver_types.go +++ b/apis/lb/v1alpha1/zz_httpfarmserver_types.go @@ -143,8 +143,8 @@ type HTTPFarmServerStatus struct { // +kubebuilder:storageversion // HTTPFarmServer is the Schema for the HTTPFarmServers 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/lb/v1alpha1/zz_httpfrontend_types.go b/apis/lb/v1alpha1/zz_httpfrontend_types.go index 7bd87d4..cf20e08 100755 --- a/apis/lb/v1alpha1/zz_httpfrontend_types.go +++ b/apis/lb/v1alpha1/zz_httpfrontend_types.go @@ -14,6 +14,8 @@ import ( ) type HTTPFrontendInitParameters struct { + + // +listType=set AllowedSource []*string `json:"allowedSource,omitempty" tf:"allowed_source,omitempty"` // +listType=set @@ -43,6 +45,8 @@ type HTTPFrontendInitParameters struct { } type HTTPFrontendObservation struct { + + // +listType=set AllowedSource []*string `json:"allowedSource,omitempty" tf:"allowed_source,omitempty"` // +listType=set @@ -76,6 +80,7 @@ type HTTPFrontendObservation struct { type HTTPFrontendParameters struct { // +kubebuilder:validation:Optional + // +listType=set AllowedSource []*string `json:"allowedSource,omitempty" tf:"allowed_source,omitempty"` // +kubebuilder:validation:Optional @@ -144,8 +149,8 @@ type HTTPFrontendStatus struct { // +kubebuilder:storageversion // HTTPFrontend is the Schema for the HTTPFrontends 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/lb/v1alpha1/zz_httproute_types.go b/apis/lb/v1alpha1/zz_httproute_types.go index a517257..f5a49c0 100755 --- a/apis/lb/v1alpha1/zz_httproute_types.go +++ b/apis/lb/v1alpha1/zz_httproute_types.go @@ -167,8 +167,8 @@ type HTTPRouteStatus struct { // +kubebuilder:storageversion // HTTPRoute is the Schema for the HTTPRoutes 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/lb/v1alpha1/zz_httprouterule_types.go b/apis/lb/v1alpha1/zz_httprouterule_types.go index 7244664..a96b1c9 100755 --- a/apis/lb/v1alpha1/zz_httprouterule_types.go +++ b/apis/lb/v1alpha1/zz_httprouterule_types.go @@ -106,8 +106,8 @@ type HTTPRouteRuleStatus struct { // +kubebuilder:storageversion // HTTPRouteRule is the Schema for the HTTPRouteRules 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/lb/v1alpha1/zz_iploadbalancing_types.go b/apis/lb/v1alpha1/zz_iploadbalancing_types.go index 73a492d..ba1d682 100755 --- a/apis/lb/v1alpha1/zz_iploadbalancing_types.go +++ b/apis/lb/v1alpha1/zz_iploadbalancing_types.go @@ -63,6 +63,9 @@ type IploadbalancingInitParameters struct { // Set the name displayed in ManagerV6 for your iplb (max 50 chars) DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` + // Details about an Order + Order []OrderInitParameters `json:"order,omitempty" tf:"order,omitempty"` + // Ovh Subsidiary OvhSubsidiary *string `json:"ovhSubsidiary,omitempty" tf:"ovh_subsidiary,omitempty"` @@ -143,6 +146,10 @@ type IploadbalancingParameters struct { // +kubebuilder:validation:Optional DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` + // Details about an Order + // +kubebuilder:validation:Optional + Order []OrderParameters `json:"order,omitempty" tf:"order,omitempty"` + // Ovh Subsidiary // +kubebuilder:validation:Optional OvhSubsidiary *string `json:"ovhSubsidiary,omitempty" tf:"ovh_subsidiary,omitempty"` @@ -168,12 +175,17 @@ type OrderInitParameters struct { } type OrderObservation struct { + + // date Date *string `json:"date,omitempty" tf:"date,omitempty"` + // Information about a Bill entry Details []DetailsObservation `json:"details,omitempty" tf:"details,omitempty"` + // expiration date ExpirationDate *string `json:"expirationDate,omitempty" tf:"expiration_date,omitempty"` + // order id OrderID *float64 `json:"orderId,omitempty" tf:"order_id,omitempty"` } @@ -367,8 +379,8 @@ type IploadbalancingStatus struct { // +kubebuilder:storageversion // Iploadbalancing is the Schema for the Iploadbalancings 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/lb/v1alpha1/zz_refresh_types.go b/apis/lb/v1alpha1/zz_refresh_types.go index 4d08686..153042d 100755 --- a/apis/lb/v1alpha1/zz_refresh_types.go +++ b/apis/lb/v1alpha1/zz_refresh_types.go @@ -64,8 +64,8 @@ type RefreshStatus struct { // +kubebuilder:storageversion // Refresh is the Schema for the Refreshs 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/lb/v1alpha1/zz_tcpfarm_types.go b/apis/lb/v1alpha1/zz_tcpfarm_types.go index a1fb3d9..f076c63 100755 --- a/apis/lb/v1alpha1/zz_tcpfarm_types.go +++ b/apis/lb/v1alpha1/zz_tcpfarm_types.go @@ -176,8 +176,8 @@ type TCPFarmStatus struct { // +kubebuilder:storageversion // TCPFarm is the Schema for the TCPFarms 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/lb/v1alpha1/zz_tcpfarmserver_types.go b/apis/lb/v1alpha1/zz_tcpfarmserver_types.go index 351399f..80a8f23 100755 --- a/apis/lb/v1alpha1/zz_tcpfarmserver_types.go +++ b/apis/lb/v1alpha1/zz_tcpfarmserver_types.go @@ -141,8 +141,8 @@ type TCPFarmServerStatus struct { // +kubebuilder:storageversion // TCPFarmServer is the Schema for the TCPFarmServers 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/lb/v1alpha1/zz_tcpfrontend_types.go b/apis/lb/v1alpha1/zz_tcpfrontend_types.go index 7547e01..60fdacb 100755 --- a/apis/lb/v1alpha1/zz_tcpfrontend_types.go +++ b/apis/lb/v1alpha1/zz_tcpfrontend_types.go @@ -14,14 +14,20 @@ import ( ) type TCPFrontendInitParameters struct { + + // +listType=set AllowedSource []*string `json:"allowedSource,omitempty" tf:"allowed_source,omitempty"` + // +listType=set DedicatedIpfo []*string `json:"dedicatedIpfo,omitempty" tf:"dedicated_ipfo,omitempty"` DefaultFarmID *float64 `json:"defaultFarmId,omitempty" tf:"default_farm_id,omitempty"` DefaultSSLID *float64 `json:"defaultSslId,omitempty" tf:"default_ssl_id,omitempty"` + // +listType=set + DeniedSource []*string `json:"deniedSource,omitempty" tf:"denied_source,omitempty"` + Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"` DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` @@ -36,14 +42,20 @@ type TCPFrontendInitParameters struct { } type TCPFrontendObservation struct { + + // +listType=set AllowedSource []*string `json:"allowedSource,omitempty" tf:"allowed_source,omitempty"` + // +listType=set DedicatedIpfo []*string `json:"dedicatedIpfo,omitempty" tf:"dedicated_ipfo,omitempty"` DefaultFarmID *float64 `json:"defaultFarmId,omitempty" tf:"default_farm_id,omitempty"` DefaultSSLID *float64 `json:"defaultSslId,omitempty" tf:"default_ssl_id,omitempty"` + // +listType=set + DeniedSource []*string `json:"deniedSource,omitempty" tf:"denied_source,omitempty"` + Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"` DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` @@ -62,9 +74,11 @@ type TCPFrontendObservation struct { type TCPFrontendParameters struct { // +kubebuilder:validation:Optional + // +listType=set AllowedSource []*string `json:"allowedSource,omitempty" tf:"allowed_source,omitempty"` // +kubebuilder:validation:Optional + // +listType=set DedicatedIpfo []*string `json:"dedicatedIpfo,omitempty" tf:"dedicated_ipfo,omitempty"` // +kubebuilder:validation:Optional @@ -73,6 +87,10 @@ type TCPFrontendParameters struct { // +kubebuilder:validation:Optional DefaultSSLID *float64 `json:"defaultSslId,omitempty" tf:"default_ssl_id,omitempty"` + // +kubebuilder:validation:Optional + // +listType=set + DeniedSource []*string `json:"deniedSource,omitempty" tf:"denied_source,omitempty"` + // +kubebuilder:validation:Optional Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"` @@ -120,8 +138,8 @@ type TCPFrontendStatus struct { // +kubebuilder:storageversion // TCPFrontend is the Schema for the TCPFrontends 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/lb/v1alpha1/zz_tcproute_types.go b/apis/lb/v1alpha1/zz_tcproute_types.go index 32cb121..83054ff 100755 --- a/apis/lb/v1alpha1/zz_tcproute_types.go +++ b/apis/lb/v1alpha1/zz_tcproute_types.go @@ -157,8 +157,8 @@ type TCPRouteStatus struct { // +kubebuilder:storageversion // TCPRoute is the Schema for the TCPRoutes 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/lb/v1alpha1/zz_tcprouterule_types.go b/apis/lb/v1alpha1/zz_tcprouterule_types.go index 5a11b81..e467497 100755 --- a/apis/lb/v1alpha1/zz_tcprouterule_types.go +++ b/apis/lb/v1alpha1/zz_tcprouterule_types.go @@ -106,8 +106,8 @@ type TCPRouteRuleStatus struct { // +kubebuilder:storageversion // TCPRouteRule is the Schema for the TCPRouteRules 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/lb/v1alpha1/zz_vracknetwork_types.go b/apis/lb/v1alpha1/zz_vracknetwork_types.go index a9fc3b4..3277f64 100755 --- a/apis/lb/v1alpha1/zz_vracknetwork_types.go +++ b/apis/lb/v1alpha1/zz_vracknetwork_types.go @@ -115,8 +115,8 @@ type VrackNetworkStatus struct { // +kubebuilder:storageversion // VrackNetwork is the Schema for the VrackNetworks 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/logs/v1alpha1/zz_logscluster_types.go b/apis/logs/v1alpha1/zz_logscluster_types.go index 7ec444a..321efea 100755 --- a/apis/logs/v1alpha1/zz_logscluster_types.go +++ b/apis/logs/v1alpha1/zz_logscluster_types.go @@ -120,8 +120,8 @@ type LogsClusterStatus struct { // +kubebuilder:storageversion // LogsCluster is the Schema for the LogsClusters 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/logs/v1alpha1/zz_logsinput_types.go b/apis/logs/v1alpha1/zz_logsinput_types.go index b97536e..2e33617 100755 --- a/apis/logs/v1alpha1/zz_logsinput_types.go +++ b/apis/logs/v1alpha1/zz_logsinput_types.go @@ -257,8 +257,8 @@ type LogsInputStatus struct { // +kubebuilder:storageversion // LogsInput is the Schema for the LogsInputs 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/me/v1alpha1/zz_generated.conversion_hubs.go b/apis/me/v1alpha1/zz_generated.conversion_hubs.go index 23944a2..bd7b8cf 100755 --- a/apis/me/v1alpha1/zz_generated.conversion_hubs.go +++ b/apis/me/v1alpha1/zz_generated.conversion_hubs.go @@ -6,14 +6,11 @@ Copyright 2022 Upbound Inc. package v1alpha1 -// Hub marks this type as a conversion hub. -func (tr *Oauth2Client) Hub() {} - // Hub marks this type as a conversion hub. func (tr *Group) Hub() {} // Hub marks this type as a conversion hub. -func (tr *User) Hub() {} +func (tr *Oauth2Client) Hub() {} // Hub marks this type as a conversion hub. -func (tr *SSHKey) Hub() {} +func (tr *User) Hub() {} diff --git a/apis/me/v1alpha1/zz_generated.deepcopy.go b/apis/me/v1alpha1/zz_generated.deepcopy.go index 84cb8db..dfd5be3 100644 --- a/apis/me/v1alpha1/zz_generated.deepcopy.go +++ b/apis/me/v1alpha1/zz_generated.deepcopy.go @@ -454,195 +454,6 @@ func (in *Oauth2ClientStatus) DeepCopy() *Oauth2ClientStatus { return out } -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *SSHKey) DeepCopyInto(out *SSHKey) { - *out = *in - out.TypeMeta = in.TypeMeta - in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) - in.Spec.DeepCopyInto(&out.Spec) - in.Status.DeepCopyInto(&out.Status) -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSHKey. -func (in *SSHKey) DeepCopy() *SSHKey { - if in == nil { - return nil - } - out := new(SSHKey) - in.DeepCopyInto(out) - return out -} - -// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *SSHKey) DeepCopyObject() runtime.Object { - if c := in.DeepCopy(); c != nil { - return c - } - return nil -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *SSHKeyInitParameters) DeepCopyInto(out *SSHKeyInitParameters) { - *out = *in - if in.Default != nil { - in, out := &in.Default, &out.Default - *out = new(bool) - **out = **in - } - if in.Key != nil { - in, out := &in.Key, &out.Key - *out = new(string) - **out = **in - } - if in.KeyName != nil { - in, out := &in.KeyName, &out.KeyName - *out = new(string) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSHKeyInitParameters. -func (in *SSHKeyInitParameters) DeepCopy() *SSHKeyInitParameters { - if in == nil { - return nil - } - out := new(SSHKeyInitParameters) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *SSHKeyList) DeepCopyInto(out *SSHKeyList) { - *out = *in - out.TypeMeta = in.TypeMeta - in.ListMeta.DeepCopyInto(&out.ListMeta) - if in.Items != nil { - in, out := &in.Items, &out.Items - *out = make([]SSHKey, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSHKeyList. -func (in *SSHKeyList) DeepCopy() *SSHKeyList { - if in == nil { - return nil - } - out := new(SSHKeyList) - in.DeepCopyInto(out) - return out -} - -// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *SSHKeyList) DeepCopyObject() runtime.Object { - if c := in.DeepCopy(); c != nil { - return c - } - return nil -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *SSHKeyObservation) DeepCopyInto(out *SSHKeyObservation) { - *out = *in - if in.Default != nil { - in, out := &in.Default, &out.Default - *out = new(bool) - **out = **in - } - if in.ID != nil { - in, out := &in.ID, &out.ID - *out = new(string) - **out = **in - } - if in.Key != nil { - in, out := &in.Key, &out.Key - *out = new(string) - **out = **in - } - if in.KeyName != nil { - in, out := &in.KeyName, &out.KeyName - *out = new(string) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSHKeyObservation. -func (in *SSHKeyObservation) DeepCopy() *SSHKeyObservation { - if in == nil { - return nil - } - out := new(SSHKeyObservation) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *SSHKeyParameters) DeepCopyInto(out *SSHKeyParameters) { - *out = *in - if in.Default != nil { - in, out := &in.Default, &out.Default - *out = new(bool) - **out = **in - } - if in.Key != nil { - in, out := &in.Key, &out.Key - *out = new(string) - **out = **in - } - if in.KeyName != nil { - in, out := &in.KeyName, &out.KeyName - *out = new(string) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSHKeyParameters. -func (in *SSHKeyParameters) DeepCopy() *SSHKeyParameters { - if in == nil { - return nil - } - out := new(SSHKeyParameters) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *SSHKeySpec) DeepCopyInto(out *SSHKeySpec) { - *out = *in - in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) - in.ForProvider.DeepCopyInto(&out.ForProvider) - in.InitProvider.DeepCopyInto(&out.InitProvider) -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSHKeySpec. -func (in *SSHKeySpec) DeepCopy() *SSHKeySpec { - if in == nil { - return nil - } - out := new(SSHKeySpec) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *SSHKeyStatus) DeepCopyInto(out *SSHKeyStatus) { - *out = *in - in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) - in.AtProvider.DeepCopyInto(&out.AtProvider) -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSHKeyStatus. -func (in *SSHKeyStatus) DeepCopy() *SSHKeyStatus { - if in == nil { - return nil - } - out := new(SSHKeyStatus) - in.DeepCopyInto(out) - return out -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *User) DeepCopyInto(out *User) { *out = *in @@ -703,6 +514,7 @@ func (in *UserInitParameters) DeepCopyInto(out *UserInitParameters) { *out = new(string) **out = **in } + out.PasswordSecretRef = in.PasswordSecretRef } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserInitParameters. diff --git a/apis/me/v1alpha1/zz_generated.managed.go b/apis/me/v1alpha1/zz_generated.managed.go index 5846085..e2acf6c 100644 --- a/apis/me/v1alpha1/zz_generated.managed.go +++ b/apis/me/v1alpha1/zz_generated.managed.go @@ -127,66 +127,6 @@ func (mg *Oauth2Client) SetWriteConnectionSecretToReference(r *xpv1.SecretRefere mg.Spec.WriteConnectionSecretToReference = r } -// GetCondition of this SSHKey. -func (mg *SSHKey) GetCondition(ct xpv1.ConditionType) xpv1.Condition { - return mg.Status.GetCondition(ct) -} - -// GetDeletionPolicy of this SSHKey. -func (mg *SSHKey) GetDeletionPolicy() xpv1.DeletionPolicy { - return mg.Spec.DeletionPolicy -} - -// GetManagementPolicies of this SSHKey. -func (mg *SSHKey) GetManagementPolicies() xpv1.ManagementPolicies { - return mg.Spec.ManagementPolicies -} - -// GetProviderConfigReference of this SSHKey. -func (mg *SSHKey) GetProviderConfigReference() *xpv1.Reference { - return mg.Spec.ProviderConfigReference -} - -// GetPublishConnectionDetailsTo of this SSHKey. -func (mg *SSHKey) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { - return mg.Spec.PublishConnectionDetailsTo -} - -// GetWriteConnectionSecretToReference of this SSHKey. -func (mg *SSHKey) GetWriteConnectionSecretToReference() *xpv1.SecretReference { - return mg.Spec.WriteConnectionSecretToReference -} - -// SetConditions of this SSHKey. -func (mg *SSHKey) SetConditions(c ...xpv1.Condition) { - mg.Status.SetConditions(c...) -} - -// SetDeletionPolicy of this SSHKey. -func (mg *SSHKey) SetDeletionPolicy(r xpv1.DeletionPolicy) { - mg.Spec.DeletionPolicy = r -} - -// SetManagementPolicies of this SSHKey. -func (mg *SSHKey) SetManagementPolicies(r xpv1.ManagementPolicies) { - mg.Spec.ManagementPolicies = r -} - -// SetProviderConfigReference of this SSHKey. -func (mg *SSHKey) SetProviderConfigReference(r *xpv1.Reference) { - mg.Spec.ProviderConfigReference = r -} - -// SetPublishConnectionDetailsTo of this SSHKey. -func (mg *SSHKey) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { - mg.Spec.PublishConnectionDetailsTo = r -} - -// SetWriteConnectionSecretToReference of this SSHKey. -func (mg *SSHKey) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { - mg.Spec.WriteConnectionSecretToReference = r -} - // GetCondition of this User. func (mg *User) GetCondition(ct xpv1.ConditionType) xpv1.Condition { return mg.Status.GetCondition(ct) diff --git a/apis/me/v1alpha1/zz_generated.managedlist.go b/apis/me/v1alpha1/zz_generated.managedlist.go index 4d4461d..6d8bd32 100644 --- a/apis/me/v1alpha1/zz_generated.managedlist.go +++ b/apis/me/v1alpha1/zz_generated.managedlist.go @@ -25,15 +25,6 @@ func (l *Oauth2ClientList) GetItems() []resource.Managed { return items } -// GetItems of this SSHKeyList. -func (l *SSHKeyList) GetItems() []resource.Managed { - items := make([]resource.Managed, len(l.Items)) - for i := range l.Items { - items[i] = &l.Items[i] - } - return items -} - // GetItems of this UserList. func (l *UserList) GetItems() []resource.Managed { items := make([]resource.Managed, len(l.Items)) diff --git a/apis/me/v1alpha1/zz_group_types.go b/apis/me/v1alpha1/zz_group_types.go index a0b8ba9..72ec8eb 100755 --- a/apis/me/v1alpha1/zz_group_types.go +++ b/apis/me/v1alpha1/zz_group_types.go @@ -79,8 +79,8 @@ type GroupStatus struct { // +kubebuilder:storageversion // Group is the Schema for the Groups 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/me/v1alpha1/zz_oauth2client_types.go b/apis/me/v1alpha1/zz_oauth2client_types.go index d85cab9..c378234 100755 --- a/apis/me/v1alpha1/zz_oauth2client_types.go +++ b/apis/me/v1alpha1/zz_oauth2client_types.go @@ -95,8 +95,8 @@ type Oauth2ClientStatus struct { // +kubebuilder:storageversion // Oauth2Client is the Schema for the Oauth2Clients 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/me/v1alpha1/zz_sshkey_terraformed.go b/apis/me/v1alpha1/zz_sshkey_terraformed.go deleted file mode 100755 index 47c72e8..0000000 --- a/apis/me/v1alpha1/zz_sshkey_terraformed.go +++ /dev/null @@ -1,129 +0,0 @@ -/* -Copyright 2022 Upbound Inc. -*/ - -// Code generated by upjet. DO NOT EDIT. - -package v1alpha1 - -import ( - "dario.cat/mergo" - "github.com/pkg/errors" - - "github.com/crossplane/upjet/pkg/resource" - "github.com/crossplane/upjet/pkg/resource/json" -) - -// GetTerraformResourceType returns Terraform resource type for this SSHKey -func (mg *SSHKey) GetTerraformResourceType() string { - return "ovh_me_ssh_key" -} - -// GetConnectionDetailsMapping for this SSHKey -func (tr *SSHKey) GetConnectionDetailsMapping() map[string]string { - return nil -} - -// GetObservation of this SSHKey -func (tr *SSHKey) GetObservation() (map[string]any, error) { - o, err := json.TFParser.Marshal(tr.Status.AtProvider) - if err != nil { - return nil, err - } - base := map[string]any{} - return base, json.TFParser.Unmarshal(o, &base) -} - -// SetObservation for this SSHKey -func (tr *SSHKey) SetObservation(obs map[string]any) error { - p, err := json.TFParser.Marshal(obs) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) -} - -// GetID returns ID of underlying Terraform resource of this SSHKey -func (tr *SSHKey) GetID() string { - if tr.Status.AtProvider.ID == nil { - return "" - } - return *tr.Status.AtProvider.ID -} - -// GetParameters of this SSHKey -func (tr *SSHKey) GetParameters() (map[string]any, error) { - p, err := json.TFParser.Marshal(tr.Spec.ForProvider) - if err != nil { - return nil, err - } - base := map[string]any{} - return base, json.TFParser.Unmarshal(p, &base) -} - -// SetParameters for this SSHKey -func (tr *SSHKey) SetParameters(params map[string]any) error { - p, err := json.TFParser.Marshal(params) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) -} - -// GetInitParameters of this SSHKey -func (tr *SSHKey) GetInitParameters() (map[string]any, error) { - p, err := json.TFParser.Marshal(tr.Spec.InitProvider) - if err != nil { - return nil, err - } - base := map[string]any{} - return base, json.TFParser.Unmarshal(p, &base) -} - -// GetInitParameters of this SSHKey -func (tr *SSHKey) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error) { - params, err := tr.GetParameters() - if err != nil { - return nil, errors.Wrapf(err, "cannot get parameters for resource '%q'", tr.GetName()) - } - if !shouldMergeInitProvider { - return params, nil - } - - initParams, err := tr.GetInitParameters() - if err != nil { - return nil, errors.Wrapf(err, "cannot get init parameters for resource '%q'", tr.GetName()) - } - - // Note(lsviben): mergo.WithSliceDeepCopy is needed to merge the - // slices from the initProvider to forProvider. As it also sets - // overwrite to true, we need to set it back to false, we don't - // want to overwrite the forProvider fields with the initProvider - // fields. - err = mergo.Merge(¶ms, initParams, mergo.WithSliceDeepCopy, func(c *mergo.Config) { - c.Overwrite = false - }) - if err != nil { - return nil, errors.Wrapf(err, "cannot merge spec.initProvider and spec.forProvider parameters for resource '%q'", tr.GetName()) - } - - return params, nil -} - -// LateInitialize this SSHKey using its observed tfState. -// returns True if there are any spec changes for the resource. -func (tr *SSHKey) LateInitialize(attrs []byte) (bool, error) { - params := &SSHKeyParameters{} - if err := json.TFParser.Unmarshal(attrs, params); err != nil { - return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") - } - opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} - - li := resource.NewGenericLateInitializer(opts...) - return li.LateInitialize(&tr.Spec.ForProvider, params) -} - -// GetTerraformSchemaVersion returns the associated Terraform schema version -func (tr *SSHKey) GetTerraformSchemaVersion() int { - return 0 -} diff --git a/apis/me/v1alpha1/zz_sshkey_types.go b/apis/me/v1alpha1/zz_sshkey_types.go deleted file mode 100755 index 16bf42c..0000000 --- a/apis/me/v1alpha1/zz_sshkey_types.go +++ /dev/null @@ -1,118 +0,0 @@ -/* -Copyright 2022 Upbound Inc. -*/ - -// Code generated by upjet. DO NOT EDIT. - -package v1alpha1 - -import ( - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/runtime/schema" - - v1 "github.com/crossplane/crossplane-runtime/apis/common/v1" -) - -type SSHKeyInitParameters struct { - - // True when this public Ssh key is used for rescue mode and reinstallations - Default *bool `json:"default,omitempty" tf:"default,omitempty"` - - // ASCII encoded public Ssh key - Key *string `json:"key,omitempty" tf:"key,omitempty"` - - // Name of this public Ssh key - KeyName *string `json:"keyName,omitempty" tf:"key_name,omitempty"` -} - -type SSHKeyObservation struct { - - // True when this public Ssh key is used for rescue mode and reinstallations - Default *bool `json:"default,omitempty" tf:"default,omitempty"` - - ID *string `json:"id,omitempty" tf:"id,omitempty"` - - // ASCII encoded public Ssh key - Key *string `json:"key,omitempty" tf:"key,omitempty"` - - // Name of this public Ssh key - KeyName *string `json:"keyName,omitempty" tf:"key_name,omitempty"` -} - -type SSHKeyParameters struct { - - // True when this public Ssh key is used for rescue mode and reinstallations - // +kubebuilder:validation:Optional - Default *bool `json:"default,omitempty" tf:"default,omitempty"` - - // ASCII encoded public Ssh key - // +kubebuilder:validation:Optional - Key *string `json:"key,omitempty" tf:"key,omitempty"` - - // Name of this public Ssh key - // +kubebuilder:validation:Optional - KeyName *string `json:"keyName,omitempty" tf:"key_name,omitempty"` -} - -// SSHKeySpec defines the desired state of SSHKey -type SSHKeySpec struct { - v1.ResourceSpec `json:",inline"` - ForProvider SSHKeyParameters `json:"forProvider"` - // THIS IS A BETA FIELD. It will be honored - // unless the Management Policies feature flag is disabled. - // InitProvider holds the same fields as ForProvider, with the exception - // of Identifier and other resource reference fields. The fields that are - // in InitProvider are merged into ForProvider when the resource is created. - // The same fields are also added to the terraform ignore_changes hook, to - // avoid updating them after creation. This is useful for fields that are - // required on creation, but we do not desire to update them after creation, - // for example because of an external controller is managing them, like an - // autoscaler. - InitProvider SSHKeyInitParameters `json:"initProvider,omitempty"` -} - -// SSHKeyStatus defines the observed state of SSHKey. -type SSHKeyStatus struct { - v1.ResourceStatus `json:",inline"` - AtProvider SSHKeyObservation `json:"atProvider,omitempty"` -} - -// +kubebuilder:object:root=true -// +kubebuilder:subresource:status -// +kubebuilder:storageversion - -// 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" -// +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} -type SSHKey struct { - metav1.TypeMeta `json:",inline"` - metav1.ObjectMeta `json:"metadata,omitempty"` - // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.key) || (has(self.initProvider) && has(self.initProvider.key))",message="spec.forProvider.key is a required parameter" - // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.keyName) || (has(self.initProvider) && has(self.initProvider.keyName))",message="spec.forProvider.keyName is a required parameter" - Spec SSHKeySpec `json:"spec"` - Status SSHKeyStatus `json:"status,omitempty"` -} - -// +kubebuilder:object:root=true - -// SSHKeyList contains a list of SSHKeys -type SSHKeyList struct { - metav1.TypeMeta `json:",inline"` - metav1.ListMeta `json:"metadata,omitempty"` - Items []SSHKey `json:"items"` -} - -// Repository type metadata. -var ( - SSHKey_Kind = "SSHKey" - SSHKey_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: SSHKey_Kind}.String() - SSHKey_KindAPIVersion = SSHKey_Kind + "." + CRDGroupVersion.String() - SSHKey_GroupVersionKind = CRDGroupVersion.WithKind(SSHKey_Kind) -) - -func init() { - SchemeBuilder.Register(&SSHKey{}, &SSHKeyList{}) -} diff --git a/apis/me/v1alpha1/zz_user_terraformed.go b/apis/me/v1alpha1/zz_user_terraformed.go index 7ab3aba..c248687 100755 --- a/apis/me/v1alpha1/zz_user_terraformed.go +++ b/apis/me/v1alpha1/zz_user_terraformed.go @@ -21,7 +21,7 @@ func (mg *User) GetTerraformResourceType() string { // GetConnectionDetailsMapping for this User func (tr *User) GetConnectionDetailsMapping() map[string]string { - return map[string]string{"password": "spec.forProvider.passwordSecretRef"} + return map[string]string{"password": "passwordSecretRef"} } // GetObservation of this User diff --git a/apis/me/v1alpha1/zz_user_types.go b/apis/me/v1alpha1/zz_user_types.go index 04a8e87..a418fb8 100755 --- a/apis/me/v1alpha1/zz_user_types.go +++ b/apis/me/v1alpha1/zz_user_types.go @@ -35,6 +35,9 @@ type UserInitParameters struct { // User's login suffix Login *string `json:"login,omitempty" tf:"login,omitempty"` + + // User's password + PasswordSecretRef v1.SecretKeySelector `json:"passwordSecretRef" tf:"-"` } type UserObservation struct { @@ -128,8 +131,8 @@ type UserStatus struct { // +kubebuilder:storageversion // User is the Schema for the Users 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/nas/v1alpha1/zz_generated.deepcopy.go b/apis/nas/v1alpha1/zz_generated.deepcopy.go index b78d1cc..86b7bea 100644 --- a/apis/nas/v1alpha1/zz_generated.deepcopy.go +++ b/apis/nas/v1alpha1/zz_generated.deepcopy.go @@ -69,6 +69,11 @@ func (in *NashaPartitionAccess) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *NashaPartitionAccessInitParameters) DeepCopyInto(out *NashaPartitionAccessInitParameters) { *out = *in + if in.ACLDescription != nil { + in, out := &in.ACLDescription, &out.ACLDescription + *out = new(string) + **out = **in + } if in.IP != nil { in, out := &in.IP, &out.IP *out = new(string) @@ -136,6 +141,11 @@ func (in *NashaPartitionAccessList) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *NashaPartitionAccessObservation) DeepCopyInto(out *NashaPartitionAccessObservation) { *out = *in + if in.ACLDescription != nil { + in, out := &in.ACLDescription, &out.ACLDescription + *out = new(string) + **out = **in + } if in.ID != nil { in, out := &in.ID, &out.ID *out = new(string) @@ -176,6 +186,11 @@ func (in *NashaPartitionAccessObservation) DeepCopy() *NashaPartitionAccessObser // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *NashaPartitionAccessParameters) DeepCopyInto(out *NashaPartitionAccessParameters) { *out = *in + if in.ACLDescription != nil { + in, out := &in.ACLDescription, &out.ACLDescription + *out = new(string) + **out = **in + } if in.IP != nil { in, out := &in.IP, &out.IP *out = new(string) diff --git a/apis/nas/v1alpha1/zz_nashapartition_types.go b/apis/nas/v1alpha1/zz_nashapartition_types.go index fc5885c..e533ae8 100755 --- a/apis/nas/v1alpha1/zz_nashapartition_types.go +++ b/apis/nas/v1alpha1/zz_nashapartition_types.go @@ -89,8 +89,8 @@ type NashaPartitionStatus struct { // +kubebuilder:storageversion // NashaPartition is the Schema for the NashaPartitions 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/nas/v1alpha1/zz_nashapartitionaccess_types.go b/apis/nas/v1alpha1/zz_nashapartitionaccess_types.go index a0c92e9..cc12ebe 100755 --- a/apis/nas/v1alpha1/zz_nashapartitionaccess_types.go +++ b/apis/nas/v1alpha1/zz_nashapartitionaccess_types.go @@ -14,6 +14,10 @@ import ( ) type NashaPartitionAccessInitParameters struct { + + // A brief description of the ACL + ACLDescription *string `json:"aclDescription,omitempty" tf:"acl_description,omitempty"` + IP *string `json:"ip,omitempty" tf:"ip,omitempty"` PartitionName *string `json:"partitionName,omitempty" tf:"partition_name,omitempty"` @@ -24,6 +28,10 @@ type NashaPartitionAccessInitParameters struct { } type NashaPartitionAccessObservation struct { + + // A brief description of the ACL + ACLDescription *string `json:"aclDescription,omitempty" tf:"acl_description,omitempty"` + ID *string `json:"id,omitempty" tf:"id,omitempty"` IP *string `json:"ip,omitempty" tf:"ip,omitempty"` @@ -37,6 +45,10 @@ type NashaPartitionAccessObservation struct { type NashaPartitionAccessParameters struct { + // A brief description of the ACL + // +kubebuilder:validation:Optional + ACLDescription *string `json:"aclDescription,omitempty" tf:"acl_description,omitempty"` + // +kubebuilder:validation:Optional IP *string `json:"ip,omitempty" tf:"ip,omitempty"` @@ -78,8 +90,8 @@ type NashaPartitionAccessStatus struct { // +kubebuilder:storageversion // NashaPartitionAccess is the Schema for the NashaPartitionAccesss 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/nas/v1alpha1/zz_nashapartitionsnapshot_types.go b/apis/nas/v1alpha1/zz_nashapartitionsnapshot_types.go index 56aa658..5aa2d1c 100755 --- a/apis/nas/v1alpha1/zz_nashapartitionsnapshot_types.go +++ b/apis/nas/v1alpha1/zz_nashapartitionsnapshot_types.go @@ -71,8 +71,8 @@ type NashaPartitionSnapshotStatus struct { // +kubebuilder:storageversion // NashaPartitionSnapshot is the Schema for the NashaPartitionSnapshots 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/network/v1alpha1/zz_privatenetwork_types.go b/apis/network/v1alpha1/zz_privatenetwork_types.go index 368a391..f61f608 100755 --- a/apis/network/v1alpha1/zz_privatenetwork_types.go +++ b/apis/network/v1alpha1/zz_privatenetwork_types.go @@ -118,8 +118,8 @@ type PrivateNetworkStatus struct { // +kubebuilder:storageversion // PrivateNetwork is the Schema for the PrivateNetworks 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/network/v1alpha1/zz_subnet_types.go b/apis/network/v1alpha1/zz_subnet_types.go index 944b8e1..70e40cf 100755 --- a/apis/network/v1alpha1/zz_subnet_types.go +++ b/apis/network/v1alpha1/zz_subnet_types.go @@ -151,8 +151,8 @@ type SubnetStatus struct { // +kubebuilder:storageversion // Subnet is the Schema for the Subnets 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/privatesql/v1alpha1/zz_generated.deepcopy.go b/apis/privatesql/v1alpha1/zz_generated.deepcopy.go index 65bbdbf..75cbaf7 100644 --- a/apis/privatesql/v1alpha1/zz_generated.deepcopy.go +++ b/apis/privatesql/v1alpha1/zz_generated.deepcopy.go @@ -755,6 +755,11 @@ func (in *PrivatedatabaseInitParameters) DeepCopyInto(out *PrivatedatabaseInitPa *out = new(string) **out = **in } + if in.Order != nil { + in, out := &in.Order, &out.Order + *out = make([]OrderInitParameters, len(*in)) + copy(*out, *in) + } if in.OvhSubsidiary != nil { in, out := &in.OvhSubsidiary, &out.OvhSubsidiary *out = new(string) @@ -987,6 +992,11 @@ func (in *PrivatedatabaseParameters) DeepCopyInto(out *PrivatedatabaseParameters *out = new(string) **out = **in } + if in.Order != nil { + in, out := &in.Order, &out.Order + *out = make([]OrderParameters, len(*in)) + copy(*out, *in) + } if in.OvhSubsidiary != nil { in, out := &in.OvhSubsidiary, &out.OvhSubsidiary *out = new(string) @@ -1297,6 +1307,7 @@ func (in *PrivatedatabaseUserGrantStatus) DeepCopy() *PrivatedatabaseUserGrantSt // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *PrivatedatabaseUserInitParameters) DeepCopyInto(out *PrivatedatabaseUserInitParameters) { *out = *in + out.PasswordSecretRef = in.PasswordSecretRef if in.ServiceName != nil { in, out := &in.ServiceName, &out.ServiceName *out = new(string) diff --git a/apis/privatesql/v1alpha1/zz_privatedatabase_types.go b/apis/privatesql/v1alpha1/zz_privatedatabase_types.go index 0729f01..634da83 100755 --- a/apis/privatesql/v1alpha1/zz_privatedatabase_types.go +++ b/apis/privatesql/v1alpha1/zz_privatedatabase_types.go @@ -62,12 +62,17 @@ type OrderInitParameters struct { } type OrderObservation struct { + + // date Date *string `json:"date,omitempty" tf:"date,omitempty"` + // Information about a Bill entry Details []DetailsObservation `json:"details,omitempty" tf:"details,omitempty"` + // expiration date ExpirationDate *string `json:"expirationDate,omitempty" tf:"expiration_date,omitempty"` + // order id OrderID *float64 `json:"orderId,omitempty" tf:"order_id,omitempty"` } @@ -226,6 +231,9 @@ type PrivatedatabaseInitParameters struct { // Name displayed in customer panel for your private database DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` + // Details about an Order + Order []OrderInitParameters `json:"order,omitempty" tf:"order,omitempty"` + // Ovh Subsidiary OvhSubsidiary *string `json:"ovhSubsidiary,omitempty" tf:"ovh_subsidiary,omitempty"` @@ -325,6 +333,10 @@ type PrivatedatabaseParameters struct { // +kubebuilder:validation:Optional DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` + // Details about an Order + // +kubebuilder:validation:Optional + Order []OrderParameters `json:"order,omitempty" tf:"order,omitempty"` + // Ovh Subsidiary // +kubebuilder:validation:Optional OvhSubsidiary *string `json:"ovhSubsidiary,omitempty" tf:"ovh_subsidiary,omitempty"` @@ -373,8 +385,8 @@ type PrivatedatabaseStatus struct { // +kubebuilder:storageversion // Privatedatabase is the Schema for the Privatedatabases 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/privatesql/v1alpha1/zz_privatedatabasedatabase_types.go b/apis/privatesql/v1alpha1/zz_privatedatabasedatabase_types.go index 32ebc11..db3bab9 100755 --- a/apis/privatesql/v1alpha1/zz_privatedatabasedatabase_types.go +++ b/apis/privatesql/v1alpha1/zz_privatedatabasedatabase_types.go @@ -72,8 +72,8 @@ type PrivatedatabaseDatabaseStatus struct { // +kubebuilder:storageversion // PrivatedatabaseDatabase is the Schema for the PrivatedatabaseDatabases 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/privatesql/v1alpha1/zz_privatedatabaseuser_terraformed.go b/apis/privatesql/v1alpha1/zz_privatedatabaseuser_terraformed.go index 512db91..fa1b933 100755 --- a/apis/privatesql/v1alpha1/zz_privatedatabaseuser_terraformed.go +++ b/apis/privatesql/v1alpha1/zz_privatedatabaseuser_terraformed.go @@ -21,7 +21,7 @@ func (mg *PrivatedatabaseUser) GetTerraformResourceType() string { // GetConnectionDetailsMapping for this PrivatedatabaseUser func (tr *PrivatedatabaseUser) GetConnectionDetailsMapping() map[string]string { - return map[string]string{"password": "spec.forProvider.passwordSecretRef"} + return map[string]string{"password": "passwordSecretRef"} } // GetObservation of this PrivatedatabaseUser diff --git a/apis/privatesql/v1alpha1/zz_privatedatabaseuser_types.go b/apis/privatesql/v1alpha1/zz_privatedatabaseuser_types.go index ad2c232..5e6c7e4 100755 --- a/apis/privatesql/v1alpha1/zz_privatedatabaseuser_types.go +++ b/apis/privatesql/v1alpha1/zz_privatedatabaseuser_types.go @@ -15,6 +15,9 @@ import ( type PrivatedatabaseUserInitParameters struct { + // Password for the new user ( alphanumeric and 8 characters minimum ) + PasswordSecretRef v1.SecretKeySelector `json:"passwordSecretRef" tf:"-"` + // The internal name of your private database ServiceName *string `json:"serviceName,omitempty" tf:"service_name,omitempty"` @@ -75,8 +78,8 @@ type PrivatedatabaseUserStatus struct { // +kubebuilder:storageversion // PrivatedatabaseUser is the Schema for the PrivatedatabaseUsers 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/privatesql/v1alpha1/zz_privatedatabaseusergrant_types.go b/apis/privatesql/v1alpha1/zz_privatedatabaseusergrant_types.go index b2dc926..3ec95e7 100755 --- a/apis/privatesql/v1alpha1/zz_privatedatabaseusergrant_types.go +++ b/apis/privatesql/v1alpha1/zz_privatedatabaseusergrant_types.go @@ -92,8 +92,8 @@ type PrivatedatabaseUserGrantStatus struct { // +kubebuilder:storageversion // PrivatedatabaseUserGrant is the Schema for the PrivatedatabaseUserGrants 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/privatesql/v1alpha1/zz_privatedatabasewhitelist_types.go b/apis/privatesql/v1alpha1/zz_privatedatabasewhitelist_types.go index edbb671..f29fcb6 100755 --- a/apis/privatesql/v1alpha1/zz_privatedatabasewhitelist_types.go +++ b/apis/privatesql/v1alpha1/zz_privatedatabasewhitelist_types.go @@ -101,8 +101,8 @@ type PrivatedatabaseWhitelistStatus struct { // +kubebuilder:storageversion // PrivatedatabaseWhitelist is the Schema for the PrivatedatabaseWhitelists 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/registry/v1alpha1/zz_containerregistry_types.go b/apis/registry/v1alpha1/zz_containerregistry_types.go index e6c5957..1e6c34b 100755 --- a/apis/registry/v1alpha1/zz_containerregistry_types.go +++ b/apis/registry/v1alpha1/zz_containerregistry_types.go @@ -157,8 +157,8 @@ type ContainerRegistryStatus struct { // +kubebuilder:storageversion // ContainerRegistry is the Schema for the ContainerRegistrys 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/registry/v1alpha1/zz_containerregistryiprestrictionsmanagement_types.go b/apis/registry/v1alpha1/zz_containerregistryiprestrictionsmanagement_types.go index 14a755e..30a1684 100755 --- a/apis/registry/v1alpha1/zz_containerregistryiprestrictionsmanagement_types.go +++ b/apis/registry/v1alpha1/zz_containerregistryiprestrictionsmanagement_types.go @@ -99,8 +99,8 @@ type ContainerRegistryIPRestrictionsManagementStatus struct { // +kubebuilder:storageversion // ContainerRegistryIPRestrictionsManagement is the Schema for the ContainerRegistryIPRestrictionsManagements 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/registry/v1alpha1/zz_containerregistryiprestrictionsregistry_types.go b/apis/registry/v1alpha1/zz_containerregistryiprestrictionsregistry_types.go index 605ed81..6dbe53e 100755 --- a/apis/registry/v1alpha1/zz_containerregistryiprestrictionsregistry_types.go +++ b/apis/registry/v1alpha1/zz_containerregistryiprestrictionsregistry_types.go @@ -99,8 +99,8 @@ type ContainerRegistryIPRestrictionsRegistryStatus struct { // +kubebuilder:storageversion // ContainerRegistryIPRestrictionsRegistry is the Schema for the ContainerRegistryIPRestrictionsRegistrys 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/registry/v1alpha1/zz_containerregistryoidc_terraformed.go b/apis/registry/v1alpha1/zz_containerregistryoidc_terraformed.go index 3847f95..ef895bf 100755 --- a/apis/registry/v1alpha1/zz_containerregistryoidc_terraformed.go +++ b/apis/registry/v1alpha1/zz_containerregistryoidc_terraformed.go @@ -21,7 +21,7 @@ func (mg *ContainerRegistryOIDC) GetTerraformResourceType() string { // GetConnectionDetailsMapping for this ContainerRegistryOIDC func (tr *ContainerRegistryOIDC) GetConnectionDetailsMapping() map[string]string { - return map[string]string{"oidc_client_secret": "spec.forProvider.oidcClientSecretSecretRef"} + return map[string]string{"oidc_client_secret": "oidcClientSecretSecretRef"} } // GetObservation of this ContainerRegistryOIDC diff --git a/apis/registry/v1alpha1/zz_containerregistryoidc_types.go b/apis/registry/v1alpha1/zz_containerregistryoidc_types.go index ae26684..bbf1c8d 100755 --- a/apis/registry/v1alpha1/zz_containerregistryoidc_types.go +++ b/apis/registry/v1alpha1/zz_containerregistryoidc_types.go @@ -22,6 +22,8 @@ type ContainerRegistryOIDCInitParameters struct { OidcClientID *string `json:"oidcClientId,omitempty" tf:"oidc_client_id,omitempty"` + OidcClientSecretSecretRef v1.SecretKeySelector `json:"oidcClientSecretSecretRef" tf:"-"` + OidcEndpoint *string `json:"oidcEndpoint,omitempty" tf:"oidc_endpoint,omitempty"` OidcGroupsClaim *string `json:"oidcGroupsClaim,omitempty" tf:"oidc_groups_claim,omitempty"` @@ -155,8 +157,8 @@ type ContainerRegistryOIDCStatus struct { // +kubebuilder:storageversion // ContainerRegistryOIDC is the Schema for the ContainerRegistryOIDCs 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/registry/v1alpha1/zz_containerregistryuser_types.go b/apis/registry/v1alpha1/zz_containerregistryuser_types.go index dbcf61a..0bf88f9 100755 --- a/apis/registry/v1alpha1/zz_containerregistryuser_types.go +++ b/apis/registry/v1alpha1/zz_containerregistryuser_types.go @@ -113,8 +113,8 @@ type ContainerRegistryUserStatus struct { // +kubebuilder:storageversion // ContainerRegistryUser is the Schema for the ContainerRegistryUsers 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/registry/v1alpha1/zz_generated.deepcopy.go b/apis/registry/v1alpha1/zz_generated.deepcopy.go index 7089b7e..f4b9166 100644 --- a/apis/registry/v1alpha1/zz_generated.deepcopy.go +++ b/apis/registry/v1alpha1/zz_generated.deepcopy.go @@ -677,6 +677,7 @@ func (in *ContainerRegistryOIDCInitParameters) DeepCopyInto(out *ContainerRegist *out = new(string) **out = **in } + out.OidcClientSecretSecretRef = in.OidcClientSecretSecretRef if in.OidcEndpoint != nil { in, out := &in.OidcEndpoint, &out.OidcEndpoint *out = new(string) diff --git a/apis/storage/v1alpha1/zz_projectregionstoragepresign_types.go b/apis/storage/v1alpha1/zz_projectregionstoragepresign_types.go index 7f735aa..890f8ae 100755 --- a/apis/storage/v1alpha1/zz_projectregionstoragepresign_types.go +++ b/apis/storage/v1alpha1/zz_projectregionstoragepresign_types.go @@ -112,8 +112,8 @@ type ProjectRegionStoragePresignStatus struct { // +kubebuilder:storageversion // ProjectRegionStoragePresign is the Schema for the ProjectRegionStoragePresigns 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/vminstances/v1alpha1/zz_projectworkflowbackup_types.go b/apis/vminstances/v1alpha1/zz_projectworkflowbackup_types.go index 3da66d6..7dd4c40 100755 --- a/apis/vminstances/v1alpha1/zz_projectworkflowbackup_types.go +++ b/apis/vminstances/v1alpha1/zz_projectworkflowbackup_types.go @@ -104,8 +104,8 @@ type ProjectWorkflowBackupStatus struct { // +kubebuilder:storageversion // ProjectWorkflowBackup is the Schema for the ProjectWorkflowBackups 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/vrack/v1alpha1/zz_cloudproject_types.go b/apis/vrack/v1alpha1/zz_cloudproject_types.go index ce1f4b3..5fde3ae 100755 --- a/apis/vrack/v1alpha1/zz_cloudproject_types.go +++ b/apis/vrack/v1alpha1/zz_cloudproject_types.go @@ -67,8 +67,8 @@ type CloudprojectStatus struct { // +kubebuilder:storageversion // Cloudproject is the Schema for the Cloudprojects 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/vrack/v1alpha1/zz_dedicatedserver_types.go b/apis/vrack/v1alpha1/zz_dedicatedserver_types.go index 368a61b..09d0a18 100755 --- a/apis/vrack/v1alpha1/zz_dedicatedserver_types.go +++ b/apis/vrack/v1alpha1/zz_dedicatedserver_types.go @@ -67,8 +67,8 @@ type DedicatedServerStatus struct { // +kubebuilder:storageversion // DedicatedServer is the Schema for the DedicatedServers 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/vrack/v1alpha1/zz_dedicatedserverinterface_types.go b/apis/vrack/v1alpha1/zz_dedicatedserverinterface_types.go index e7eb65f..9b33953 100755 --- a/apis/vrack/v1alpha1/zz_dedicatedserverinterface_types.go +++ b/apis/vrack/v1alpha1/zz_dedicatedserverinterface_types.go @@ -67,8 +67,8 @@ type DedicatedServerInterfaceStatus struct { // +kubebuilder:storageversion // DedicatedServerInterface is the Schema for the DedicatedServerInterfaces 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/vrack/v1alpha1/zz_generated.conversion_hubs.go b/apis/vrack/v1alpha1/zz_generated.conversion_hubs.go index 2a05b36..547fa6b 100755 --- a/apis/vrack/v1alpha1/zz_generated.conversion_hubs.go +++ b/apis/vrack/v1alpha1/zz_generated.conversion_hubs.go @@ -6,9 +6,6 @@ Copyright 2022 Upbound Inc. package v1alpha1 -// Hub marks this type as a conversion hub. -func (tr *Vrack) Hub() {} - // Hub marks this type as a conversion hub. func (tr *Cloudproject) Hub() {} @@ -23,3 +20,6 @@ func (tr *IP) Hub() {} // Hub marks this type as a conversion hub. func (tr *Iploadbalancing) Hub() {} + +// Hub marks this type as a conversion hub. +func (tr *Vrack) Hub() {} diff --git a/apis/vrack/v1alpha1/zz_generated.deepcopy.go b/apis/vrack/v1alpha1/zz_generated.deepcopy.go index 8aa1a71..fff6734 100644 --- a/apis/vrack/v1alpha1/zz_generated.deepcopy.go +++ b/apis/vrack/v1alpha1/zz_generated.deepcopy.go @@ -1471,6 +1471,11 @@ func (in *VrackInitParameters) DeepCopyInto(out *VrackInitParameters) { *out = new(string) **out = **in } + if in.Order != nil { + in, out := &in.Order, &out.Order + *out = make([]OrderInitParameters, len(*in)) + copy(*out, *in) + } if in.OvhSubsidiary != nil { in, out := &in.OvhSubsidiary, &out.OvhSubsidiary *out = new(string) @@ -1623,6 +1628,11 @@ func (in *VrackParameters) DeepCopyInto(out *VrackParameters) { *out = new(string) **out = **in } + if in.Order != nil { + in, out := &in.Order, &out.Order + *out = make([]OrderParameters, len(*in)) + copy(*out, *in) + } if in.OvhSubsidiary != nil { in, out := &in.OvhSubsidiary, &out.OvhSubsidiary *out = new(string) diff --git a/apis/vrack/v1alpha1/zz_ip_types.go b/apis/vrack/v1alpha1/zz_ip_types.go index b5c10b2..71be0f6 100755 --- a/apis/vrack/v1alpha1/zz_ip_types.go +++ b/apis/vrack/v1alpha1/zz_ip_types.go @@ -81,8 +81,8 @@ type IPStatus struct { // +kubebuilder:storageversion // IP is the Schema for the IPs 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/vrack/v1alpha1/zz_iploadbalancing_types.go b/apis/vrack/v1alpha1/zz_iploadbalancing_types.go index 3cf8f97..6dd0644 100755 --- a/apis/vrack/v1alpha1/zz_iploadbalancing_types.go +++ b/apis/vrack/v1alpha1/zz_iploadbalancing_types.go @@ -71,8 +71,8 @@ type IploadbalancingStatus struct { // +kubebuilder:storageversion // Iploadbalancing is the Schema for the Iploadbalancings 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/apis/vrack/v1alpha1/zz_vrack_types.go b/apis/vrack/v1alpha1/zz_vrack_types.go index ca00e23..22411d6 100755 --- a/apis/vrack/v1alpha1/zz_vrack_types.go +++ b/apis/vrack/v1alpha1/zz_vrack_types.go @@ -62,12 +62,17 @@ type OrderInitParameters struct { } type OrderObservation struct { + + // date Date *string `json:"date,omitempty" tf:"date,omitempty"` + // Information about a Bill entry Details []DetailsObservation `json:"details,omitempty" tf:"details,omitempty"` + // expiration date ExpirationDate *string `json:"expirationDate,omitempty" tf:"expiration_date,omitempty"` + // order id OrderID *float64 `json:"orderId,omitempty" tf:"order_id,omitempty"` } @@ -229,6 +234,9 @@ type VrackInitParameters struct { // yourvrackname Name *string `json:"name,omitempty" tf:"name,omitempty"` + // Details about an Order + Order []OrderInitParameters `json:"order,omitempty" tf:"order,omitempty"` + // Ovh Subsidiary OvhSubsidiary *string `json:"ovhSubsidiary,omitempty" tf:"ovh_subsidiary,omitempty"` @@ -283,6 +291,10 @@ type VrackParameters struct { // +kubebuilder:validation:Optional Name *string `json:"name,omitempty" tf:"name,omitempty"` + // Details about an Order + // +kubebuilder:validation:Optional + Order []OrderParameters `json:"order,omitempty" tf:"order,omitempty"` + // Ovh Subsidiary // +kubebuilder:validation:Optional OvhSubsidiary *string `json:"ovhSubsidiary,omitempty" tf:"ovh_subsidiary,omitempty"` @@ -328,8 +340,8 @@ type VrackStatus struct { // +kubebuilder:storageversion // Vrack is the Schema for the Vracks 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} diff --git a/build b/build index bd5297b..3cf6663 160000 --- a/build +++ b/build @@ -1 +1 @@ -Subproject commit bd5297bd16c113cbc5ed1905b1d96aa1cb3078ec +Subproject commit 3cf6663fafcf22f5cb3e7b90cf21d981faa52230 diff --git a/config/me/config.go b/config/me/config.go index 5547507..e7e3da0 100644 --- a/config/me/config.go +++ b/config/me/config.go @@ -19,10 +19,6 @@ func Configure(p *config.Provider) { Type: "github.com/edixos/provider-ovh/apis/me/v1alpha1.Group", } }) - p.AddResourceConfigurator("ovh_me_ssh_key", func(r *config.Resource) { - r.ShortGroup = shortGroup - r.Kind = "SSHKey" - }) p.AddResourceConfigurator("ovh_me_api_oauth2_client", func(r *config.Resource) { r.ShortGroup = shortGroup r.Kind = "Oauth2Client" diff --git a/config/provider-metadata.yaml b/config/provider-metadata.yaml index 45d8c68..887044c 100644 --- a/config/provider-metadata.yaml +++ b/config/provider-metadata.yaml @@ -6,6 +6,7 @@ resources: name: OVH title: OVH argumentDocs: + OVH_CLOUD_LOADBALANCER_ID_TEST: '- The ID of the LoadBalancer to use.' OVH_CLOUD_PROJECT_CONTAINERREGISTRY_OIDC_ENDPOINT_TEST: '- The OIDC endpoint of the container registry to test.' OVH_CLOUD_PROJECT_CONTAINERREGISTRY_REGION_TEST: '- The region of the container registry to test.' OVH_CLOUD_PROJECT_DATABASE_ENGINE_TEST: '- The name of the database engine to test.' @@ -57,6 +58,9 @@ resources: application_secret: |- - (Optional) The API Application Secret. If omitted, the OVH_APPLICATION_SECRET environment variable is used. + client_id.ovh-ca: for OVHcloud Canada API + client_id.ovh-eu: for OVHcloud Europe API + client_id.ovh-us: for OVHcloud US API consumer_key: |- - (Optional) The API Consumer key. If omitted, the OVH_CONSUMER_KEY environment variable is used. @@ -72,2856 +76,975 @@ resources: soyoustart-ca: for So you Start Canada API soyoustart-eu: for So you Start Europe API importStatements: [] - cloud_project.html.markdown: + cloud_project.html Resource - terraform-provider-ovh: subCategory: "" - description: 'cloud_project.html.markdownsubcategory : "Account Management"' - name: cloud_project.html.markdown - title: cloud_project.html.markdown - argumentDocs: - access: '- project access right for the identity that trigger the terraform script.' - catalog_name: '- Catalog name' - configuration: '- (Optional) Representation of a configuration item for personalizing product' - date: '- date' - description: '- A description associated with the user.' - details: '- Information about a Bill entry' - domain: '- expiration date' - duration: '- (Required) duration' - expiration_date: '- expiration date' - label: '- (Required) Identifier of the resource' - order: '- Details about the order that was used to create the public cloud project' - order_detail_id: '- order detail id' - order_id: '- order id, the same as the id' - ovh_subsidiary: '- (Required) OVHcloud Subsidiary. Country of OVHcloud legal entity you''ll be billed by. List of supported subsidiaries available on API at /1.0/me.json under' - plan: '- (Required) Product Plan to order' - plan_code: '- (Required) Plan code. This value must be adapted depending on your OVH_ENDPOINT value. It''s project.2018 for ovh-{eu,ca} and project when using ovh-us.' - plan_option: '- (Optional) Product Plan to order' - pricing_mode: '- (Required) Pricing model identifier' - project_id: '- openstack project id' - project_name: '- openstack project name' - quantity: '- quantity' - status: '- project status' - urn: '- The URN of the cloud project' - value: '- (Required) Path to the resource in API.OVH.COM' - importStatements: [] - cloud_project_alerting.html.markdown: - subCategory: "" - description: 'cloud_project_alerting.html.markdownsubcategory : "Account Management"' - name: cloud_project_alerting.html.markdown - title: cloud_project_alerting.html.markdown - argumentDocs: - creationDate: '- Alerting creation date' - currency_code: '- Currency of the monthly threshold' - delay: '- Delay between two alerts in seconds' - email: '- Email to contact' - formatted_monthly_threshold: '- Formatted monthly threshold for this alerting' - id: '- Alert ID' - monthly_threshold: '- Monthly threshold for this alerting in currency' - service_name: |- - - The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - text: ': Text representation of the monthly threshold' - value: ': Value of the monthly threshold' - importStatements: [] - cloud_project_capabilities_containerregistry.html.markdown: - subCategory: "" - description: 'cloud_project_capabilities_containerregistry.html.markdownsubcategory : "Managed Private Registry"' - name: cloud_project_capabilities_containerregistry.html.markdown - title: cloud_project_capabilities_containerregistry.html.markdown - argumentDocs: - code: '- Plan code from the catalog' - created_at: '- Plan creation date' - features: '- Features of the plan' - id: '- Plan ID' - image_storage: '- Docker image storage limits in bytes' - name: '- Plan name' - parallel_request: '- Parallel requests on Docker image API (/v2 Docker registry API)' - plans: '- Available plans in the region' - region_name: '- The region name' - registry_limits: '- Container registry limits' - result: '- List of container registry capability for a single region' - service_name: |- - - The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - updated_at: '- Plan last update date' - vulnerability: '- Vulnerability scanning' - importStatements: [] - cloud_project_capabilities_containerregistry_filter.html.markdown: - subCategory: "" - description: 'cloud_project_capabilities_containerregistry_filter.html.markdownsubcategory : "Managed Private Registry"' - name: cloud_project_capabilities_containerregistry_filter.html.markdown - title: cloud_project_capabilities_containerregistry_filter.html.markdown - argumentDocs: - code: '- Plan code from the catalog' - created_at: '- Plan creation date' - features: '- Features of the plan' - id: '- Plan ID' - image_storage: '- Docker image storage limits in bytes' - name: '- Plan name' - parallel_request: '- Parallel requests on Docker image API (/v2 Docker registry API)' - plan_name: '- The plan name. It can be ''SMALL'', ''MEDIUM'' or ''LARGE''.' - region: '- The region name' - registry_limits: '- Container registry limits' - service_name: |- - - The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - updated_at: '- Plan last update date' - vulnerability: '- Vulnerability scanning' - importStatements: [] - cloud_project_containerregistries.html.markdown: - subCategory: "" - description: 'cloud_project_containerregistries.html.markdownsubcategory : "Managed Private Registry"' - name: cloud_project_containerregistries.html.markdown - title: cloud_project_containerregistries.html.markdown - argumentDocs: - created_at: '- Registry creation date' - id: '- Registry ID' - name: '- Registry name' - project_id: '- Project ID of your registry' - region: '- Region of the registry' - result: '- The list of container registries associated with the project.' - service_name: |- - - The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - size: '- Current size of the registry (bytes)' - status: '- Registry status' - updated_at: '- Registry last update date' - url: '- Access url of the registry' - version: '- Version of your registry' - importStatements: [] - cloud_project_containerregistry.html.markdown: - subCategory: "" - description: 'cloud_project_containerregistry.html.markdownsubcategory : "Managed Private Registry"' - name: cloud_project_containerregistry.html.markdown - title: cloud_project_containerregistry.html.markdown - argumentDocs: - code: '- Plan code from the catalog' - created_at: '- Registry creation date' - features: '- Features of the plan' - id: '- Registry ID' - image_storage: '- Docker image storage limits in bytes' - name: '- Registry name' - parallel_request: '- Parallel requests on Docker image API (/v2 Docker registry API)' - plan: '- Plan of the registry' - plan_id: '- Plan ID of the registry' - project_id: '- Project ID of your registry' - region: '- Region of the registry' - registry_limits: '- Container registry limits' - service_name: |- - - The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - size: '- Current size of the registry (bytes)' - status: '- Registry status' - updated_at: '- Plan last update date' - url: '- Access url of the registry' - version: '- Version of your registry' - vulnerability: '- Vulnerability scanning' - importStatements: [] - cloud_project_containerregistry_ip_restrictions_management.html.markdown: - subCategory: "" - description: 'cloud_project_containerregistry_ip_restrictions_management.html.markdownsubcategory : "Managed Private Registry"' - name: cloud_project_containerregistry_ip_restrictions_management.html.markdown - title: cloud_project_containerregistry_ip_restrictions_management.html.markdown - argumentDocs: - description: '- The Description of Whitelisted IpBlock.' - ip_block: '- Whitelisted IpBlock (CIDR format).' - ip_restrictions: '- IP restrictions applied on Harbor UI and API.' - registry_id: '- The id of the Managed Private Registry.' - service_name: '- (Optional) The id of the public cloud project. If omitted, the OVH_CLOUD_PROJECT_SERVICE environment variable is used.' + name: cloud_project.html Resource - terraform-provider-ovh + title: cloud_project.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - cloud_project_containerregistry_ip_restrictions_registry.html.markdown: + cloud_project_alerting.html Resource - terraform-provider-ovh: subCategory: "" - description: 'cloud_project_containerregistry_ip_restrictions_registry.html.markdownsubcategory : "Managed Private Registry"' - name: cloud_project_containerregistry_ip_restrictions_registry.html.markdown - title: cloud_project_containerregistry_ip_restrictions_registry.html.markdown - argumentDocs: - description: '- The Description of Whitelisted IpBlock.' - ip_block: '- Whitelisted IpBlock (CIDR format).' - ip_restrictions: '- IP restrictions applied on artifact manager component.' - registry_id: '- The id of the Managed Private Registry.' - service_name: '- (Optional) The id of the public cloud project. If omitted, the OVH_CLOUD_PROJECT_SERVICE environment variable is used.' + name: cloud_project_alerting.html Resource - terraform-provider-ovh + title: cloud_project_alerting.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - cloud_project_containerregistry_oidc.html.markdown: + cloud_project_capabilities_containerregistry.html Resource - terraform-provider-ovh: subCategory: "" - description: 'cloud_project_containerregistry_oidc.html.markdownsubcategory : "Managed Private Registry"' - name: cloud_project_containerregistry_oidc.html.markdown - title: cloud_project_containerregistry_oidc.html.markdown - argumentDocs: - create: '- (Default 10m)' - delete: '- (Default 10m)' - delete_users: '- Delete existing users from Harbor. OIDC can''t be enabled if there is at least one user already created. This parameter is only used at OIDC configuration creation. Changing this value recreates the resource.' - oidc_admin_group: '- Specify an OIDC admin group name. All OIDC users in this group will have harbor admin privilege. Keep it blank if you do not want to.' - oidc_auto_onboard: '- Skip the onboarding screen, so user cannot change its username. Username is provided from ID Token.' - oidc_client_id: '- The client ID with which Harbor is registered as client application with the OIDC provider.' - oidc_client_secret: '- The secret for the Harbor client application.' - oidc_endpoint: '- The URL of an OIDC-compliant server.' - oidc_groups_claim: '- The name of Claim in the ID token whose value is the list of group names.' - oidc_name: '- The name of the OIDC provider.' - oidc_scope: '- The scope sent to OIDC server during authentication. It''s a comma-separated string that must contain ''openid'' and usually also contains ''profile'' and ''email''. To obtain refresh tokens it should also contain ''offline_access''.' - oidc_user_claim: '- The name of the claim in the ID Token where the username is retrieved from. If not specified, it will default to ''name'' (only useful when automatic Onboarding is enabled).' - oidc_verify_cert: '- Set it to false if your OIDC server is hosted via self-signed certificate.' - registry_id: '- The ID of the Managed Private Registry. Changing this value recreates the resource.' - service_name: '- The ID of the public cloud project. If omitted, the OVH_CLOUD_PROJECT_SERVICE environment variable is used. Changing this value recreates the resource.' - update: '- (Default 10m)' - importStatements: [] - cloud_project_containerregistry_user.html.markdown: - subCategory: "" - description: 'cloud_project_containerregistry_user.html.markdownsubcategory : "Managed Private Registry"' - name: cloud_project_containerregistry_user.html.markdown - title: cloud_project_containerregistry_user.html.markdown - argumentDocs: - email: '- User email' - id: '- User ID' - password: '- (Sensitive) User password' - registry_id: '- Registry ID' - service_name: |- - - The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - user: '- User name' - importStatements: [] - cloud_project_containerregistry_users.html.markdown: - subCategory: "" - description: 'cloud_project_containerregistry_users.html.markdownsubcategory : "Managed Private Registry"' - name: cloud_project_containerregistry_users.html.markdown - title: cloud_project_containerregistry_users.html.markdown - argumentDocs: - email: '- User email' - id: '- User ID' - registry_id: '- Registry ID' - result: '- The list of users of the container registry associated with the project.' - service_name: |- - - The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - user: '- User name' - importStatements: [] - cloud_project_database.html.markdown: - subCategory: "" - description: 'cloud_project_database.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database.html.markdown - title: cloud_project_database.html.markdown - argumentDocs: - advanced_configuration: '- (Optional) Advanced configuration key / value.' - backup_regions: '- List of region where backups are pushed. Not more than 1 regions for MongoDB. Not more than 2 regions for the other engines with one being the same as the nodes[].region field' - backup_time: '- Time on which backups start every day.' - component: '- Type of component the URI relates to.' - create: '- (Default 20m)' - created_at: '- Date of the creation of the cluster.' - delete: '- (Default 20m)' - description: '- (Optional) Small description of the database service.' - disk_size: '- (Optional) The disk size (in GB) of the database service.' - disk_type: '- Defines the disk type of the database service.' - domain: '- Domain of the cluster.' - endpoints: '- List of all endpoints objects of the service.' - engine: |- - - (Required, Forces new resource) The database engine you want to deploy. To get a full list of available engine visit. - public documentation. - flavor: |- - - (Required) A valid OVHcloud public cloud database flavor name in which the nodes will be started. - Ex: "db1-7". Changing this value upgrade the nodes with the new flavor. - You can find the list of flavor names: https://www.ovhcloud.com/fr/public-cloud/prices/ - id: '- Public Cloud Database Service ID' - kafka_rest_api: '- (Optional) Defines whether the REST API is enabled on a kafka cluster' - maintenance_time: '- Time on which maintenances can start every day.' - network_id: '- (Optional, Forces new resource) Private network id in which the node should be deployed. It''s the regional openstackId of the private network' - network_type: '- Type of network of the cluster.' - nodes: |- - - (Required, Minimum Items: 1) List of nodes object. - Multi region cluster are not yet available, all node should be identical. - opensearch_acls_enabled: '- (Optional) Defines whether the ACLs are enabled on an OpenSearch cluster' - path: '- Path of the endpoint.' - plan: '- (Required) Plan of the cluster.' - port: '- Connection port for the endpoint.' - region: |- - - (Required, Forces new resource) Public cloud region in which the node should be deployed. - Ex: "GRA'. - scheme: '- Scheme used to generate the URI.' - service_name: |- - - (Required, Forces new resource) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - ssl: '- Defines whether the endpoint uses SSL.' - ssl_mode: '- SSL mode used to connect to the service if the SSL is enabled.' - status: '- Current status of the cluster.' - subnet_id: '- (Optional, Forces new resource) Private subnet ID in which the node is.' - update: '- (Default 40m)' - uri: '- URI of the endpoint.' - version: '- (Required) The version of the engine in which the service should be deployed' - importStatements: [] - cloud_project_database_capabilities.html.markdown: - subCategory: "" - description: 'cloud_project_database_capabilities.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_capabilities.html.markdown - title: cloud_project_database_capabilities.html.markdown - argumentDocs: - backup_retention: '- Automatic backup retention duration.' - core: '- Flavor core number.' - default_version: '- Default version used for the engine.' - description: '- Description of the engine.' - engines: '- Database engines available.' - flavors: '- Flavors available.' - memory: '- Flavor ram size in GB.' - name: '- Engine name.' - options: '- Options available.' - plans: '- Plans available.' - service_name: |- - - (Required) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - ssl_modes: '- SSL modes for this engine.' - storage: '- Flavor disk size in GB.' - type: '- Type of the option.' - versions: '- Versions available for this engine.' - importStatements: [] - cloud_project_database_certificates.html.markdown: - subCategory: "" - description: 'cloud_project_database_certificates.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_certificates.html.markdown - title: cloud_project_database_certificates.html.markdown - argumentDocs: - ca: '- CA certificate used for the service.' - cluster_id: '- (Required) Cluster ID' - engine: |- - - (Required) The engine of the database cluster you want database information. To get a full list of available engine visit: - public documentation. - Available engines: - service_name: |- - - (Required) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - importStatements: [] - cloud_project_database_database.html.markdown: - subCategory: "" - description: 'cloud_project_database_database.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_database.html.markdown - title: cloud_project_database_database.html.markdown - argumentDocs: - cluster_id: '- (Required, Forces new resource) Cluster ID.' - create: '- (Default 20m)' - default: '- Defines if the database has been created by default.' - delete: '- (Default 20m)' - engine: |- - - (Required, Forces new resource) The engine of the database cluster you want to add. You can find the complete list of available engine in the public documentation. - Available engines: - id: '- ID of the database.' - name: '- (Required, Forces new resource) Name of the database.' - service_name: |- - - (Required, Forces new resource) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - importStatements: [] - cloud_project_database_databases.html.markdown: - subCategory: "" - description: 'cloud_project_database_databases.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_databases.html.markdown - title: cloud_project_database_databases.html.markdown - argumentDocs: - cluster_id: '- (Required) Cluster ID' - database_ids: '- The list of databases ids of the database cluster associated with the project.' - engine: |- - - (Required) The engine of the database cluster you want to list databases. To get a full list of available engine visit: - public documentation. - Available engines: - service_name: |- - - (Required) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - importStatements: [] - cloud_project_database_integration.html.markdown: - subCategory: "" - description: 'cloud_project_database_integration.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_integration.html.markdown - title: cloud_project_database_integration.html.markdown - argumentDocs: - cluster_id: '- (Required, Forces new resource) Cluster ID.' - create: '- (Default 20m)' - delete: '- (Default 20m)' - destination_service_id: '- (Required, Forces new resource) ID of the destination service.' - engine: |- - - (Required, Forces new resource) The engine of the database cluster you want to add. You can find the complete list of available engine in the public documentation. - All engines available exept mongodb. - id: '- - ID of the integration.' - parameters: '- (Optional, Forces new resource) Parameters for the integration.' - service_name: |- - - (Required, Forces new resource) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - source_service_id: '- (Required, Forces new resource) ID of the source service.' - status: '- Current status of the integration.' - type: |- - - (Optional, Forces new resource) Type of the integration. - Available types: - update: '- (Default 20m)' - importStatements: [] - cloud_project_database_integrations.html.markdown: - subCategory: "" - description: 'cloud_project_database_integrations.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_integrations.html.markdown - title: cloud_project_database_integrations.html.markdown - argumentDocs: - cluster_id: '- (Required) Cluster ID' - engine: |- - - (Required) The engine of the database cluster you want to list integrations. To get a full list of available engine visit: - public documentation. - All engines available exept mongodb - integration_ids: '- The list of integrations ids of the database cluster associated with the project.' - service_name: |- - - (Required) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - importStatements: [] - cloud_project_database_ip_restriction.html.markdown: - subCategory: "" - description: 'cloud_project_database_ip_restriction.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_ip_restriction.html.markdown - title: cloud_project_database_ip_restriction.html.markdown - argumentDocs: - cluster_id: '- (Required, Forces new resource) Cluster ID.' - create: '- (Default 20m)' - delete: '- (Default 20m)' - description: '- (Optional) Description of the IP restriction.' - engine: |- - - (Required, Forces new resource) The engine of the database cluster you want to add an IP restriction. To get a full list of available engine visit. - public documentation. - ip: '- (Required, Forces new resource) Authorized IP.' - service_name: |- - - (Required, Forces new resource) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - status: '- Current status of the IP restriction.' - update: '- (Default 20m)' - importStatements: [] - cloud_project_database_ip_restrictions.html.markdown: - subCategory: "" - description: 'cloud_project_database_ip_restrictions.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_ip_restrictions.html.markdown - title: cloud_project_database_ip_restrictions.html.markdown - argumentDocs: - cluster_id: '- (Required) Cluster ID' - engine: |- - - (Required) The engine of the database cluster you want to list IP restrictions. To get a full list of available engine visit: - public documentation. - ips: '- The list of IP restriction of the database associated with the project.' - service_name: |- - - (Required) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - importStatements: [] - cloud_project_database_kafka_acl.html.markdown: - subCategory: "" - description: 'cloud_project_database_kafka_acl.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_kafka_acl.html.markdown - title: cloud_project_database_kafka_acl.html.markdown - argumentDocs: - cluster_id: '- (Required, Forces new resource) Cluster ID.' - create: '- (Default 20m)' - delete: '- (Default 20m)' - id: '- ID of the ACL.' - permission: |- - - (Required, Forces new resource) Permission to give to this username on this topic. - Available permissions: - service_name: |- - - (Required, Forces new resource) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - topic: '- (Required, Forces new resource) Topic affected by this ACL.' - username: '- (Required, Forces new resource) Username affected by this ACL.' - importStatements: [] - cloud_project_database_kafka_acls.html.markdown: - subCategory: "" - description: 'cloud_project_database_kafka_acls.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_kafka_acls.html.markdown - title: cloud_project_database_kafka_acls.html.markdown - argumentDocs: - acl_ids: '- The list of ACLs ids of the kafka cluster associated with the project.' - cluster_id: '- (Required) Cluster ID' - service_name: |- - - (Required) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. + name: cloud_project_capabilities_containerregistry.html Resource - terraform-provider-ovh + title: cloud_project_capabilities_containerregistry.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - cloud_project_database_kafka_schemaregistryacl.html.markdown: + cloud_project_capabilities_containerregistry_filter.html Resource - terraform-provider-ovh: subCategory: "" - description: 'cloud_project_database_kafka_schemaregistryacl.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_kafka_schemaregistryacl.html.markdown - title: cloud_project_database_kafka_schemaregistryacl.html.markdown - argumentDocs: - cluster_id: '- (Required, Forces new resource) Cluster ID.' - create: '- (Default 20m)' - delete: '- (Default 20m)' - id: '- ID of the ACL.' - permission: |- - - (Required, Forces new resource) Permission to give to this username on this resource. - Available permissions: - resource: '- (Required, Forces new resource) Resource affected by this schema registry ACL.' - service_name: |- - - (Required, Forces new resource) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - username: '- (Required, Forces new resource) Username affected by this schema registry ACL.' - importStatements: [] - cloud_project_database_kafka_schemaregistryacls.html.markdown: - subCategory: "" - description: 'cloud_project_database_kafka_schemaregistryacls.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_kafka_schemaregistryacls.html.markdown - title: cloud_project_database_kafka_schemaregistryacls.html.markdown - argumentDocs: - acl_ids: '- The list of schema refistry ACLs ids of the kafka cluster associated with the project.' - cluster_id: '- (Required) Cluster ID' - service_name: |- - - (Required) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. + name: cloud_project_capabilities_containerregistry_filter.html Resource - terraform-provider-ovh + title: cloud_project_capabilities_containerregistry_filter.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - cloud_project_database_kafka_topic.html.markdown: + cloud_project_containerregistries.html Resource - terraform-provider-ovh: subCategory: "" - description: 'cloud_project_database_kafka_topic.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_kafka_topic.html.markdown - title: cloud_project_database_kafka_topic.html.markdown - argumentDocs: - cluster_id: '- (Required, Forces new resource) Cluster ID.' - create: '- (Default 20m)' - delete: '- (Default 20m)' - id: '- ID of the topic.' - min_insync_replicas: '- (Optional, Forces new resource) Minimum insync replica accepted for this topic. Should be superior to 0' - name: '- (Required, Forces new resource) Name of the topic. No spaces allowed.' - partitions: '- (Optional, Forces new resource) Number of partitions for this topic. Should be superior to 0' - replication: '- (Optional, Forces new resource) Number of replication for this topic. Should be superior to 1' - retention_bytes: '- (Optional, Forces new resource) Number of bytes for the retention of the data for this topic. Inferior to 0 means unlimited' - retention_hours: '- (Optional, Forces new resource) Number of hours for the retention of the data for this topic. Should be superior to -2. Inferior to 0 means unlimited' - service_name: |- - - (Required, Forces new resource) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - importStatements: [] - cloud_project_database_kafka_topics.html.markdown: - subCategory: "" - description: 'cloud_project_database_kafka_topics.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_kafka_topics.html.markdown - title: cloud_project_database_kafka_topics.html.markdown - argumentDocs: - cluster_id: '- (Required) Cluster ID' - service_name: |- - - (Required) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - topic_ids: '- The list of topics ids of the kafka cluster associated with the project.' + name: cloud_project_containerregistries.html Resource - terraform-provider-ovh + title: cloud_project_containerregistries.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - cloud_project_database_kafka_user_access.html.markdown: + cloud_project_containerregistry.html Resource - terraform-provider-ovh: subCategory: "" - description: 'cloud_project_database_kafka_user_access.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_kafka_user_access.html.markdown - title: cloud_project_database_kafka_user_access.html.markdown - argumentDocs: - cert: '- User cert.' - cluster_id: '- (Required) Cluster ID' - key: '- (Sensitive) User key for the cert.' - service_name: |- - - (Required) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - user_id: '- (Required) User ID' - importStatements: [] - cloud_project_database_m3db_namespace.html.markdown: - subCategory: "" - description: 'cloud_project_database_m3db_namespace.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_m3db_namespace.html.markdown - title: cloud_project_database_m3db_namespace.html.markdown - argumentDocs: - cluster_id: '- (Required, Forces new resource) Cluster ID.' - create: '- (Default 20m)' - delete: '- (Default 20m)' - id: '- ID of the namespace.' - name: '- (Required, Forces new resource) Name of the namespace.' - resolution: '- (Optional) Resolution for an aggregated namespace. Should follow Rfc3339 e.g P2D, PT48H.' - retention_block_data_expiration_duration: '- (Optional) Controls how long we wait before expiring stale data. Should follow Rfc3339 e.g P2D, PT48H.' - retention_block_size_duration: '- (Optional) Controls how long to keep a block in memory before flushing to a fileset on disk. Should follow Rfc3339 e.g P2D, PT48H.' - retention_buffer_future_duration: '- (Optional) Controls how far into the future writes to the namespace will be accepted. Should follow Rfc3339 e.g P2D, PT48H.' - retention_buffer_past_duration: '- (Optional) Controls how far into the past writes to the namespace will be accepted. Should follow Rfc3339 e.g P2D, PT48H.' - retention_period_duration: '- (Required) Controls the duration of time that M3DB will retain data for the namespace. Should follow Rfc3339 e.g P2D, PT48H.' - service_name: |- - - (Required, Forces new resource) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - snapshot_enabled: '- (Optional) Defines whether M3DB will create snapshot files for this namespace.' - type: '- Type of namespace.' - update: '- (Default 20m)' - writes_to_commit_log_enabled: '- (Optional) Defines whether M3DB will include writes to this namespace in the commit log.' - importStatements: [] - cloud_project_database_m3db_namespaces.html.markdown: - subCategory: "" - description: 'cloud_project_database_m3db_namespaces.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_m3db_namespaces.html.markdown - title: cloud_project_database_m3db_namespaces.html.markdown - argumentDocs: - cluster_id: '- (Required) Cluster ID' - namespace_ids: '- The list of namespaces ids of the M3DB cluster associated with the project.' - service_name: |- - - (Required) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. + name: cloud_project_containerregistry.html Resource - terraform-provider-ovh + title: cloud_project_containerregistry.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - cloud_project_database_m3db_user.html.markdown: + cloud_project_containerregistry_ip_restrictions_management.html Resource - terraform-provider-ovh: subCategory: "" - description: 'cloud_project_database_m3db_user.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_m3db_user.html.markdown - title: cloud_project_database_m3db_user.html.markdown - argumentDocs: - cluster_id: '- (Required, Forces new resource) Cluster ID.' - create: '- (Default 20m)' - created_at: '- Date of the creation of the user.' - delete: '- (Default 20m)' - group: '- (Optional) Group of the user:' - id: '- ID of the user.' - name: '- (Required, Forces new resource) Name of the user. A user named "avnadmin" is map with already created admin user instead of create a new user.' - password: '- (Sensitive) Password of the user.' - password_reset: '- (Optional) Arbitrary string to change to trigger a password update. Use the terraform refresh command after executing terraform apply to update the output with the new password.' - service_name: |- - - (Required, Forces new resource) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - status: '- Current status of the user.' - update: '- (Default 20m)' - importStatements: [] - cloud_project_database_mongodb_user.html.markdown: - subCategory: "" - description: 'cloud_project_database_mongodb_user.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_mongodb_user.html.markdown - title: cloud_project_database_mongodb_user.html.markdown - argumentDocs: - cluster_id: '- (Required, Forces new resource) Cluster ID.' - create: '- (Default 20m)' - created_at: '- Date of the creation of the user.' - delete: '- (Default 20m)' - id: '- ID of the user.' - name: '- (Required, Forces new resource) Name of the user.' - password: '- (Sensitive) Password of the user.' - password_reset: '- (Optional) Arbitrary string to change to trigger a password update. Use the terraform refresh command after executing terraform apply to update the output with the new password.' - roles: |- - - (Optional: if omit, default role) Roles the user belongs to. Since version 0.37.0, the authentication database must be indicated for all roles - Available roles: - service_name: |- - - (Required, Forces new resource) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - status: '- Current status of the user.' - update: '- (Default 20m)' - importStatements: [] - cloud_project_database_opensearch_pattern.html.markdown: - subCategory: "" - description: 'cloud_project_database_opensearch_pattern.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_opensearch_pattern.html.markdown - title: cloud_project_database_opensearch_pattern.html.markdown - argumentDocs: - cluster_id: '- (Required, Forces new resource) Cluster ID.' - create: '- (Default 20m)' - delete: '- (Default 20m)' - id: '- ID of the pattern.' - max_index_count: '- (Optional, Forces new resource) Maximum number of index for this pattern.' - pattern: '- (Required, Forces new resource) Pattern format.' - service_name: |- - - (Required, Forces new resource) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - importStatements: [] - cloud_project_database_opensearch_patterns.html.markdown: - subCategory: "" - description: 'cloud_project_database_opensearch_patterns.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_opensearch_patterns.html.markdown - title: cloud_project_database_opensearch_patterns.html.markdown - argumentDocs: - cluster_id: '- (Required) Cluster ID' - pattern_ids: '- The list of patterns ids of the opensearch cluster associated with the project.' - service_name: |- - - (Required) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. + name: cloud_project_containerregistry_ip_restrictions_management.html Resource - terraform-provider-ovh + title: cloud_project_containerregistry_ip_restrictions_management.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - cloud_project_database_opensearch_user.html.markdown: + cloud_project_containerregistry_ip_restrictions_registry.html Resource - terraform-provider-ovh: subCategory: "" - description: 'cloud_project_database_opensearch_user.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_opensearch_user.html.markdown - title: cloud_project_database_opensearch_user.html.markdown - argumentDocs: - acls: '- (Optional) Acls of the user.' - cluster_id: '- (Required, Forces new resource) Cluster ID.' - create: '- (Default 20m)' - created_at: '- Date of the creation of the user.' - delete: '- (Default 20m)' - id: '- ID of the user.' - name: '- (Required, Forces new resource) Username affected by this acl. A user named "avnadmin" is map with already created admin user and reset his password instead of create a new user.' - password: '- (Sensitive) Password of the user.' - password_reset: '- (Optional) Arbitrary string to change to trigger a password update. Use the terraform refresh command after executing terraform apply to update the output with the new password.' - pattern: '- (Required) Pattern of the ACL.' - permission: |- - - (Required) Permission of the ACL - Available permission: - service_name: |- - - (Required, Forces new resource) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - status: '- Current status of the user.' - update: '- (Default 20m)' - importStatements: [] - cloud_project_database_postgresql_connection_pool.html.markdown: - subCategory: "" - description: 'cloud_project_database_postgresql_connection_pool.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_postgresql_connection_pool.html.markdown - title: cloud_project_database_postgresql_connection_pool.html.markdown - argumentDocs: - cluster_id: '- (Required, Forces new resource) Cluster ID.' - create: '- (Default 20m)' - database_id: '- (Required, Forces new resource) Database ID for a database that belongs to the Database cluster given above.' - delete: '- (Default 20m)' - mode: |- - - (Required) Connection mode to the connection pool - Available modes: - name: '- (Required, Forces new resource) Name of the connection pool.' - port: '- Port of the connection pool.' - service_name: |- - - (Required, Forces new resource) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - size: '- (Required) Size of the connection pool.' - ssl_mode: '- Ssl connection mode for the pool.' - update: '- (Default 20m)' - uri: '- Connection URI to the pool.' - user_id: '- (Optional) Database user authorized to connect to the pool, if none all the users are allowed.' - importStatements: [] - cloud_project_database_postgresql_user.html.markdown: - subCategory: "" - description: 'cloud_project_database_postgresql_user.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_postgresql_user.html.markdown - title: cloud_project_database_postgresql_user.html.markdown - argumentDocs: - cluster_id: '- (Required, Forces new resource) Cluster ID.' - create: '- (Default 20m)' - created_at: '- Date of the creation of the user.' - delete: '- (Default 20m)' - id: '- ID of the user.' - name: '- (Required, Forces new resource) Name of the user. A user named "avnadmin" is map with already created admin user and reset his password instead of create a new user.' - password: '- (Sensitive) Password of the user.' - password_reset: '- (Optional) Arbitrary string to change to trigger a password update. Use the terraform refresh command after executing terraform apply to update the output with the new password.' - roles: |- - - (Optional: if omit, default role) Roles the user belongs to. - Available roles: - service_name: |- - - (Required, Forces new resource) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - status: '- Current status of the user.' - update: '- (Default 20m)' - importStatements: [] - cloud_project_database_redis_user.html.markdown: - subCategory: "" - description: 'cloud_project_database_redis_user.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_redis_user.html.markdown - title: cloud_project_database_redis_user.html.markdown - argumentDocs: - categories: '- (Optional) Categories of the user.' - channels: '- (Optional: if omit, all channels) Channels of the user.' - cluster_id: '- (Required, Forces new resource) Cluster ID.' - commands: '- (Optional) Commands of the user.' - create: '- (Default 20m)' - created_at: '- Date of the creation of the user.' - delete: '- (Default 20m)' - id: '- ID of the user.' - keys: '- (Optional) Keys of the user.' - name: '- (Required, Forces new resource) Name of the user. A user named "avnadmin" is map with already created admin user and reset his password instead of create a new user.' - password: '- (Sensitive) Password of the user.' - password_reset: '- (Optional) Arbitrary string to change to trigger a password update. Use the terraform refresh command after executing terraform apply to update the output with the new password.' - service_name: |- - - (Required, Forces new resource) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - status: '- Current status of the user.' - update: '- (Default 20m)' - importStatements: [] - cloud_project_database_user.html.markdown: - subCategory: "" - description: 'cloud_project_database_user.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_user.html.markdown - title: cloud_project_database_user.html.markdown - argumentDocs: - cluster_id: '- (Required, Forces new resource) Cluster ID.' - create: '- (Default 20m)' - created_at: '- Date of the creation of the user.' - delete: '- (Default 20m)' - engine: |- - - (Required, Forces new resource) The engine of the database cluster you want to add. You can find the complete list of available engine in the public documentation. - Available engines: - id: '- ID of the user.' - name: '- (Required, Forces new resource) Name of the user. A user named "avnadmin" is map with already created admin user and reset his password instead of create a new user. The "Grafana" engine only allows the "avnadmin" mapping.' - password: '- (Sensitive) Password of the user.' - password_reset: '- (Optional) Arbitrary string to change to trigger a password update. Use the terraform refresh command after executing terraform apply to update the output with the new password.' - service_name: |- - - (Required, Forces new resource) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - status: '- Current status of the user.' - update: '- (Default 20m)' - importStatements: [] - cloud_project_database_users.html.markdown: - subCategory: "" - description: 'cloud_project_database_users.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_users.html.markdown - title: cloud_project_database_users.html.markdown - argumentDocs: - cluster_id: '- (Required) Cluster ID' - engine: |- - - (Required) The engine of the database cluster you want to list users. To get a full list of available engine visit: - public documentation. - service_name: |- - - (Required) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - user_ids: '- The list of users ids of the database cluster associated with the project.' - importStatements: [] - cloud_project_databases.html.markdown: - subCategory: "" - description: 'cloud_project_databases.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_databases.html.markdown - title: cloud_project_databases.html.markdown - argumentDocs: - cluster_ids: '- The list of managed databases ids of the project.' - engine: |- - - (Required) The database engine you want to list. To get a full list of available engine visit: - public documentation. - service_name: |- - - (Required) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - importStatements: [] - cloud_project_failover_ip_attach.html.markdown: - subCategory: "" - description: 'cloud_project_failover_ip_attach.html.markdownsubcategory : "Additional IP"' - name: cloud_project_failover_ip_attach.html.markdown - title: cloud_project_failover_ip_attach.html.markdown - argumentDocs: - block: '- The IP block' - continentCode: '- The Ip continent' - geoloc: '- The Ip location' - id: '- The Ip id' - ip: '- The failover ip address to attach' - progress: '- Current operation progress in percent' - routed_to: '- The GUID of an instance to which the failover IP address is be attached' - routedTo: '- Instance where ip is routed to' - service_name: |- - - The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - status: '- Ip status, can be ok or operationPending' - subType: '- IP sub type, can be cloud or ovh' - importStatements: [] - cloud_project_gateway.html.markdown: - subCategory: Gateway - description: 'cloud_project_gateway.html.markdownsubcategory: "Gateway"' - name: cloud_project_gateway.html.markdown - title: cloud_project_gateway.html.markdown - argumentDocs: - model: '- (Required) The model of the gateway.' - name: '- (Required) The name of the gateway.' - network_id: '- (Required) The ID of the private network.' - region: '- (Required) The region of the gateway.' - service_name: '- (Required) The ID of the private network.' - status: '- The status of the gateway.' - subnet_id: '- (Required) The ID of the subnet.' - importStatements: [] - cloud_project_kube.html.markdown: - subCategory: "" - description: 'cloud_project_kube.html.markdownsubcategory : "Managed Kubernetes Service"' - name: cloud_project_kube.html.markdown - title: cloud_project_kube.html.markdown - argumentDocs: - admissionplugins: '- (Optional) Kubernetes API server admission plugins customization' - apiserver: '- Kubernetes API server customization' - client_certificate: '- The kubernetes API server client certificate.' - client_key: '- The kubernetes API server client key.' - cluster_ca_certificate: '- The kubernetes API server CA certificate.' - control_plane_is_up_to_date: '- True if control-plane is up-to-date.' - create: '- (Default 10m)' - customization: '- Deprecated (Optional) Use customization_apiserver and customization_kube_proxy instead. Kubernetes cluster customization' - customization_apiserver: '- Kubernetes API server customization' - customization_kube_proxy: '- Kubernetes kube-proxy customization' - default_vrack_gateway: '- If defined, all egress traffic will be routed towards this IP address, which should belong to the private network. Empty string means disabled.' - delete: '- (Default 10m)' - disabled: '- (Optional) Array of admission plugins disabled, default is [] and only AlwaysPulImages can be disabled at this time.' - enabled: '- (Optional) Array of admission plugins enabled, default is ["NodeRestriction","AlwaysPulImages"] and only these admission plugins can be enabled at this time.' - host: '- The kubernetes API server URL.' - id: '- Managed Kubernetes Service ID' - iptables: '- (Optional) Kubernetes cluster kube-proxy customization of iptables specific config (durations format is RFC3339 duration, e.g. PT60S)' - ipvs: '- (Optional) Kubernetes cluster kube-proxy customization of IPVS specific config (durations format is RFC3339 duration, e.g. PT60S)' - is_up_to_date: '- True if all nodes and control-plane are up-to-date.' - kube_proxy: '- Kubernetes kube-proxy customization' - kube_proxy_mode: '- (Optional) Selected mode for kube-proxy. Changing this value recreates the resource, including ETCD user data. Defaults to iptables.' - kubeconfig: '- The kubeconfig file. Use this file to connect to your kubernetes cluster.' - kubeconfig_attributes: '- The kubeconfig file attributes.' - min_sync_period: '- (Optional) Period that iptables rules are refreshed, in RFC3339 duration format (e.g. PT60S). Must be greater than 0.' - name: '- (Optional) The name of the kubernetes cluster.' - next_upgrade_versions: '- Kubernetes versions available for upgrade.' - nodes_url: '- Cluster nodes URL.' - private_network_configuration: '- (Optional) The private network configuration. If this is set then the 2 parameters below shall be defined.' - private_network_id: '- (Optional) OpenStack private network (or vRack) ID to use. Changing this value recreates the resource, including ETCD user data. Defaults - not use private network.' - private_network_routing_as_default: '- Defines whether routing should default to using the nodes'' private interface, instead of their public interface. Default is false.' - region: '- a valid OVHcloud public cloud region ID in which the kubernetes cluster will be available. Ex.: "GRA1". Defaults to all public cloud regions. Changing this value recreates the resource.' - scheduler: '- (Optional) IPVS scheduler.' - service_name: '- The id of the public cloud project. If omitted, the OVH_CLOUD_PROJECT_SERVICE environment variable is used. Changing this value recreates the resource.' - status: '- Cluster status. Should be normally set to ''READY''.' - sync_period: '- (Optional) Minimum period that iptables rules are refreshed, in RFC3339 duration format (e.g. PT60S).' - tcp_fin_timeout: '- (Optional) Timeout value used for IPVS TCP sessions after receiving a FIN in RFC3339 duration (e.g. PT60S). The default value is PT0S, which preserves the current timeout value on the system.' - tcp_timeout: '- (Optional) Timeout value used for idle IPVS TCP sessions in RFC3339 duration (e.g. PT60S). The default value is PT0S, which preserves the current timeout value on the system.' - udp_timeout: '- (Optional) timeout value used for IPVS UDP packets in RFC3339 duration (e.g. PT60S). The default value is PT0S, which preserves the current timeout value on the system.' - update: '- (Default 10m)' - update_policy: '- Cluster update policy. Choose between [ALWAYS_UPDATE, MINIMAL_DOWNTIME, NEVER_UPDATE].' - url: '- Management URL of your cluster.' - version: '- (Optional) kubernetes version to use. Changing this value updates the resource. Defaults to the latest available.' - importStatements: [] - cloud_project_kube_iprestrictions.html.markdown: - subCategory: "" - description: 'cloud_project_kube_iprestrictions.html.markdownsubcategory : "Managed Kubernetes Service"' - name: cloud_project_kube_iprestrictions.html.markdown - title: cloud_project_kube_iprestrictions.html.markdown - argumentDocs: - create: '- (Default 10m)' - delete: '- (Default 5m)' - ips: '- List of CIDR authorized to interact with the managed Kubernetes cluster.' - kube_id: '- The id of the managed Kubernetes cluster. Changing this value recreates the resource.' - service_name: '- The id of the public cloud project. If omitted, the OVH_CLOUD_PROJECT_SERVICE environment variable is used. Changing this value recreates the resource.' - update: '- (Default 5m)' - importStatements: [] - cloud_project_kube_nodepool.html.markdown: - subCategory: "" - description: 'cloud_project_kube_nodepool.html.markdownsubcategory : "Managed Kubernetes Service"' - name: cloud_project_kube_nodepool.html.markdown - title: cloud_project_kube_nodepool.html.markdown - argumentDocs: - annotations: '- Annotations to apply to each node' - anti_affinity: '- (Optional) should the pool use the anti-affinity feature. Default to false. Changing this value recreates the resource.' - autoscale: '- (Optional) Enable auto-scaling for the pool. Default to false.' - autoscaling_scale_down_unneeded_time_seconds: |- - - (Optional) scaleDownUnneededTimeSeconds autoscaling parameter - How long a node should be unneeded before it is eligible for scale down - autoscaling_scale_down_unready_time_seconds: |- - - (Optional) scaleDownUnreadyTimeSeconds autoscaling parameter - How long an unready node should be unneeded before it is eligible for scale down - autoscaling_scale_down_utilization_threshold: |- - - (Optional) scaleDownUtilizationThreshold autoscaling parameter - Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down - available_nodes: '- Number of nodes which are actually ready in the pool' - create: '- (Default 20m)' - created_at: '- Creation date' - current_nodes: '- Number of nodes present in the pool' - delete: '- (Default 10m)' - desired_nodes: '- number of nodes to start.' - effect: '- mandatory possible values: NoExecute, NoSchedule, PreferNoSchedule' - finalizers: '- Finalizers to apply to each node. A finalizer name must be fully qualified, e.g. kubernetes.io/pv-protection , where you prefix it with hostname of your service which is related to the controller responsible for the finalizer.' - flavor: '- Flavor name' - flavor_name: |- - - a valid OVHcloud public cloud flavor ID in which the nodes will be started. Ex: "b2-7". You can find the list of flavor IDs: https://www.ovhcloud.com/fr/public-cloud/prices/. - Changing this value recreates the resource. - key: '- mandatory' - kube_id: '- The id of the managed kubernetes cluster. Changing this value recreates the resource.' - labels: '- Labels to apply to each node' - max_nodes: '- maximum number of nodes allowed in the pool. Setting desired_nodes over this value will raise an error.' - metadata: '- Metadata of each node in the pool' - min_nodes: '- minimum number of nodes allowed in the pool. Setting desired_nodes under this value will raise an error.' - monthly_billed: '- (Optional) should the nodes be billed on a monthly basis. Default to false. Changing this value recreates the resource.' - name: '- (Optional) The name of the nodepool. Warning: _ char is not allowed! Changing this value recreates the resource.' - project_id: '- Project id' - service_name: '- The id of the public cloud project. If omitted, the OVH_CLOUD_PROJECT_SERVICE environment variable is used. Changing this value recreates the resource.' - size_status: '- Status describing the state between number of nodes wanted and available ones' - spec: '- Spec of each node in the pool' - status: '- Current status' - taints: '- Taints to apply to each node NodeSpec kubernetes documentation' - 'template ': '- (Optional) Managed Kubernetes nodepool template, which is a complex object constituted by two main nested objects:' - unschedulable: '- If true, set nodes as un-schedulable' - up_to_date_nodes: '- Number of nodes with the latest version installed in the pool' - update: '- (Default 10m)' - updated_at: '- Last update date' - value: '- (Optional)' - importStatements: [] - cloud_project_kube_nodepool_nodes.html.markdown: - subCategory: "" - description: 'cloud_project_kube_nodepool_nodes.html.markdownsubcategory : "Managed Kubernetes Service"' - name: cloud_project_kube_nodepool_nodes.html.markdown - title: cloud_project_kube_nodepool_nodes.html.markdown - argumentDocs: - created_at: '- Creation date.' - deployed_at: '- (Optional) Date of the effective deployment.' - flavor: '- Flavor name.' - id: '- ID of the node.' - instance_id: '- Openstack ID of the underlying VM of the node.' - is_up_to_date: '- Is the node in the target version of the cluster.' - kube_id: '- The ID of the managed kubernetes cluster.' - name: '- Name of the node pool from which we want the nodes.' - node_pool_id: '- Managed kubernetes node pool ID.' - nodes: '- List of all nodes composing the kubernetes cluster.' - project_id: '- Public cloud project ID.' - service_name: |- - - (Optional) The ID of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - status: '- Current status.' - updated_at: '- Last update date.' - version: '- Version in which the node is.' - importStatements: [] - cloud_project_kube_nodes.html.markdown: - subCategory: "" - description: 'cloud_project_kube_nodes.html.markdownsubcategory : "Managed Kubernetes Service"' - name: cloud_project_kube_nodes.html.markdown - title: cloud_project_kube_nodes.html.markdown - argumentDocs: - created_at: '- Creation date' - deployed_at: '- (Optional) Date of the effective deployment' - flavor: '- Flavor name' - id: '- ID of the node' - instance_id: '- Openstack ID of the underlying VM of the node' - is_up_to_date: '- Is the node in the target version of the cluster' - kube_id: '- The ID of the managed kubernetes cluster.' - name: '- Name of the node' - node_pool_id: '- Managed kubernetes node pool ID' - nodes: '- List of all nodes composing the kubernetes cluster' - project_id: '- Public cloud project ID' - service_name: |- - - (Optional) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - status: '- Current status' - updated_at: '- Last update date' - version: '- Version in which the node is' - importStatements: [] - cloud_project_kube_oidc.html.markdown: - subCategory: "" - description: 'cloud_project_kube_oidc.html.markdownsubcategory : "Managed Kubernetes Service"' - name: cloud_project_kube_oidc.html.markdown - title: cloud_project_kube_oidc.html.markdown - argumentDocs: - client_id: '- The OIDC client ID.' - create: '- (Default 10m)' - delete: '- (Default 10m)' - issuer_url: '- The OIDC issuer url.' - kube_id: '- The ID of the managed kubernetes cluster. Changing this value recreates the resource.' - oidcCaContent: '- Content of the certificate for the CA, in Base64 format, that signed your identity provider''s web certificate. Defaults to the host''s root CAs.' - oidcGroupsClaim: '- Array of JWT claim to use as the user''s group. If the claim is present it must be an array of strings.' - oidcGroupsPrefix: '- Prefix prepended to group claims to prevent clashes with existing names (such as system:groups). For example, the value oidc: will create group names like oidc:engineering and oidc:infra.' - oidcRequiredClaim: '- Array of key=value pairs that describe required claims in the ID Token. If set, the claims are verified to be present in the ID Token with a matching value."' - oidcSigningAlgs: '- Array of signing algorithms accepted. Default is RS256.' - oidcUsernameClaim: '- JWT claim to use as the username. By default, sub, which is expected to be a unique identifier of the end user. Admins can choose other claims, such as email or name, depending on their provider. However, claims other than email will be prefixed with the issuer URL to prevent naming clashes with other plugins.' - oidcUsernamePrefix: '- Prefix prepended to username claims to prevent clashes with existing names (such as system:users). For example, the value oidc: will create usernames like oidc:jane.doe. If this field isn''t set and oidcUsernameClaim is a value other than email the prefix defaults to issuer_url where issuer_url is the value of oidcIssuerUrl. The value - can be used to disable all prefixing.' - service_name: '- The ID of the public cloud project. If omitted, the OVH_CLOUD_PROJECT_SERVICE environment variable is used. Changing this value recreates the resource.' - update: '- (Default 10m)' - importStatements: [] - cloud_project_network_private.html.markdown: - subCategory: "" - description: 'cloud_project_network_private.html.markdownsubcategory : "Public Cloud Network"' - name: cloud_project_network_private.html.markdown - title: cloud_project_network_private.html.markdown - argumentDocs: - id: '- The id of the network' - name: '- (Required) The name of the network.' - regions: |- - - an array of valid OVHcloud public cloud region ID in which the network - will be available. Ex.: "GRA1". Defaults to all public cloud regions. - regions_attributes: '- A map representing information about the region.' - regions_attributes/openstackid: '- The private network id in the region.' - regions_attributes/region: '- The id of the region.' - regions_attributes/status: '- The status of the network in the region.' - regions_status: '- (Deprecated) A map representing the status of the network per region.' - regions_status/region: '- (Deprecated) The id of the region.' - regions_status/status: '- (Deprecated) The status of the network in the region.' - service_name: |- - - (Required) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - status: '- the status of the network. should be normally set to ''ACTIVE''.' - type: '- the type of the network. Either ''private'' or ''public''.' - vlan_id: |- - - a vlan id to associate with the network. - Changing this value recreates the resource. Defaults to 0. - importStatements: [] - cloud_project_network_private_subnet.html.markdown: - subCategory: "" - description: 'cloud_project_network_private_subnet.html.markdownsubcategory : "Public Cloud Network"' - name: cloud_project_network_private_subnet.html.markdown - title: cloud_project_network_private_subnet.html.markdown - argumentDocs: - cidr: '- Ip Block representing the subnet cidr.' - dhcp: |- - - (Optional) Enable DHCP. - Changing this forces a new resource to be created. Defaults to false. - _ - dhcp_id: '- See Argument Reference above.' - end: |- - - (Required) Last ip for this region. - Changing this value recreates the subnet. - gateway_ip: '- The IP of the gateway' - ip_pools: '- List of ip pools allocated in the subnet.' - ip_pools/dhcp: '- DHCP enabled.' - ip_pools/end: '- Last ip for this region.' - ip_pools/network: '- Global network with cidr.' - ip_pools/region: '- Region where this subnet is created.' - ip_pools/start: '- First ip for this region.' - network: |- - - (Required) Global network in CIDR format. - Changing this value recreates the subnet - network_id: |- - - (Required) The id of the network. - Changing this forces a new resource to be created. - no_gateway: |- - - Set to true if you don't want to set a default gateway IP. - Changing this value recreates the resource. Defaults to false. - region: |- - - The region in which the network subnet will be created. - Ex.: "GRA1". Changing this value recreates the resource. - service_name: |- - - (Required) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - start: |- - - (Required) First ip for this region. - Changing this value recreates the subnet. - importStatements: [] - cloud_project_region.html.markdown: - subCategory: "" - description: 'cloud_project_region.html.markdownsubcategory : "Account Management"' - name: cloud_project_region.html.markdown - title: cloud_project_region.html.markdown - argumentDocs: - continent_code: |- - - the code of the geographic continent the region is running. - E.g.: EU for Europe, US for America... - datacenter_location: |- - - The location code of the datacenter. - E.g.: "GRA", meaning Gravelines, for region "GRA1" - name: |- - - (Required) The name of the region associated with the public cloud - project. - service_name: |- - - (Required) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - services: '- The list of public cloud services running within the region' - status: '- the status of the service' - importStatements: [] - cloud_project_region_storage_presign.html.markdown: - subCategory: "" - description: 'cloud_project_region_storage_presign.html.markdownsubcategory : "Object Storage"' - name: cloud_project_region_storage_presign.html.markdown - title: cloud_project_region_storage_presign.html.markdown - argumentDocs: - expire: '- (Required) Define, in seconds, for how long your URL will be valid.' - method: '- (Required) The method you want to use to interact with your object. Can be either ''GET'' or ''PUT''.' - name: '- (Required) The name of your S3 storage container/bucket.' - object: '- (Required) The name of the object in your S3 bucket.' - region_name: |- - - (Required) The region in which your storage is located. - Ex.: "GRA". - service_name: |- - - (Required) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - url: '- Computed URL result.' - importStatements: [] - cloud_project_regions.html.markdown: - subCategory: "" - description: 'cloud_project_regions.html.markdownsubcategory : "Account Management"' - name: cloud_project_regions.html.markdown - title: cloud_project_regions.html.markdown - argumentDocs: - has_services_up: |- - - (Optional) List of services which has to be UP in regions. - Example: "image", "instance", "network", "storage", "volume", "workflow", ... - If left blank, returns all regions associated with the service_name. - names: '- The list of regions associated with the project, filtered by services UP.' - service_name: |- - - (Required) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - importStatements: [] - cloud_project_user.html.markdown: - subCategory: "" - description: 'cloud_project_user.html.markdownsubcategory : "Account Management"' - name: cloud_project_user.html.markdown - title: cloud_project_user.html.markdown - argumentDocs: - creation_date: '- the date the user was created.' - description: '- A description associated with the user.' - id: '- id of the role' - name: '- name of the role' - openstack_rc: |- - - a convenient map representing an openstack_rc file. - Note: no password nor sensitive token is set in this map. - password: |- - - (Sensitive) the password generated for the user. The password can - be used with the Openstack API. This attribute is sensitive and will only be - retrieve once during creation. - permissions: '- list of permissions associated with the role' - role_name: '- The name of a role. See role_names.' - role_names: '- A list of role names. Values can be:' - roles: '- A list of roles associated with the user.' - service_name: |- - - (Required) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - status: '- the status of the user. should be normally set to ''ok''.' - username: |- - - the username generated for the user. This username can be used with - the Openstack API. - importStatements: [] - cloud_project_user_s3_credential.html.markdown: - subCategory: "" - description: 'cloud_project_user_s3_credential.html.markdownsubcategory : "Account Management"' - name: cloud_project_user_s3_credential.html.markdown - title: cloud_project_user_s3_credential.html.markdown - argumentDocs: - access_key_id: '- the Access Key ID' - secret_access_key: '- (Sensitive) the Secret Access Key' - service_name: |- - - (Required) The ID of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - user_id: '- (Required) The ID of a public cloud project''s user.' - importStatements: [] - cloud_project_user_s3_credentials.html.markdown: - subCategory: "" - description: 'cloud_project_user_s3_credentials.html.markdownsubcategory : "Account Management"' - name: cloud_project_user_s3_credentials.html.markdown - title: cloud_project_user_s3_credentials.html.markdown - argumentDocs: - access_key_ids: '- The list of the Access Key ID associated with this user.' - service_name: |- - - (Required) The ID of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - user_id: '- (Required) The ID of a public cloud project''s user.' + name: cloud_project_containerregistry_ip_restrictions_registry.html Resource - terraform-provider-ovh + title: cloud_project_containerregistry_ip_restrictions_registry.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - cloud_project_user_s3_policy.html.markdown: + cloud_project_containerregistry_oidc.html Resource - terraform-provider-ovh: subCategory: "" - description: 'cloud_project_user_s3_policy.html.markdownsubcategory : "Account Management"' - name: cloud_project_user_s3_policy.html.markdown - title: cloud_project_user_s3_policy.html.markdown - argumentDocs: - policy: '- (Required) The policy document. This is a JSON formatted string. See examples of policies on public documentation.' - service_name: |- - - (Required) The ID of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - user_id: '- (Required) The ID of a public cloud project''s user.' + name: cloud_project_containerregistry_oidc.html Resource - terraform-provider-ovh + title: cloud_project_containerregistry_oidc.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - cloud_project_users.html.markdown: + cloud_project_containerregistry_user.html Resource - terraform-provider-ovh: subCategory: "" - description: 'cloud_project_users.html.markdownsubcategory : "Account Management"' - name: cloud_project_users.html.markdown - title: cloud_project_users.html.markdown - argumentDocs: - creation_date: '- the date the user was created.' - description: '- See Argument Reference above.' - id: '- id of the role' - name: '- name of the role' - permissions: '- list of permissions associated with the role' - roles: '- A list of roles associated with the user.' - service_name: |- - - (Required) The ID of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - status: '- the status of the user. should be normally set to ''ok''.' - user_id: '- The ID of a public cloud project''s user.' - username: |- - - the username generated for the user. This username can be used with - the Openstack API. - users: '- The list of users of a public cloud project.' - importStatements: [] - cloud_project_vrack.html.markdown: - subCategory: "" - description: 'cloud_project_vrack.html.markdownsubcategory : "Public Cloud Network"' - name: cloud_project_vrack.html.markdown - title: cloud_project_vrack.html.markdown - argumentDocs: - decription: '- The description of the vrack' - id: '- The id of the vrack' - name: '- The name of the vrack' - service_name: |- - - The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - importStatements: [] - cloud_project_workflow_backup.html.markdown: - subCategory: "" - description: 'cloud_project_workflow_backup.html.markdownsubcategory : "VM Instances"' - name: cloud_project_workflow_backup.html.markdown - title: cloud_project_workflow_backup.html.markdown - argumentDocs: - backup_name: '- (Optional) The name of the backup files that are created. If empty, the name attribute is used.' - cron: '- (Mandatory) The cron periodicity at which the backup workflow is scheduled' - instanceId: the id of the instance to back up - max_execution_count: '- (Optional) The number of times the worflow is run. Default value is 0 which means that the workflow will be scheduled continously until its deletion' - name: '- (Mandatory) The worflow name that is used in the UI' - region_name: '- (Mandatory) The name of the openstack region.' - rotation: '- (Mandatory) The number of backup that are retained.' - service_name: '- (Optional) The id of the public cloud project. If omitted, the OVH_CLOUD_PROJECT_SERVICE environment variable is used.' - importStatements: [] - dbaas_logs_cluster.html.markdown: - subCategory: "" - description: 'dbaas_logs_cluster.html.markdownsubcategory : "Logs Data Platform"' - name: dbaas_logs_cluster.html.markdown - title: dbaas_logs_cluster.html.markdown - argumentDocs: - archive_allowed_networks: '- List of IP blocks' - cluster_id: '- Cluster ID. If not provided, the default cluster_id is used' - cluster_type: '- type of cluster (DEDICATED, PRO or TRIAL)' - dedicated_input_pem: '- PEM for dedicated inputs' - direct_input_allowed_networks: '- List of IP blocks' - direct_input_pem: '- PEM for direct inputs' - hostname: '- cluster hostname hosting tenant' - is_default: '- true if all content generated by given service will be placed on this cluster' - is_unlocked: '- true if given service can perform advanced operations on cluster' - query_allowed_networks: '- List of IP blocks' - region: '- datacenter localization' - service_name: '- (Required) The service name' - urn: '- URN of the DBaaS' - importStatements: [] - dbaas_logs_clusters.html.markdown: - subCategory: "" - description: 'dbaas_logs_clusters.html.markdownsubcategory : "Logs Data Platform"' - name: dbaas_logs_clusters.html.markdown - title: dbaas_logs_clusters.html.markdown - argumentDocs: - service_name: '- The service name. It''s the ID of your Logs Data Platform instance.' - uuids: is the cluster id + name: cloud_project_containerregistry_user.html Resource - terraform-provider-ovh + title: cloud_project_containerregistry_user.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - dbaas_logs_graylog_output_stream.html.markdown: + cloud_project_containerregistry_users.html Resource - terraform-provider-ovh: subCategory: "" - description: 'dbaas_logs_graylog_output_stream.html.markdownsubcategory : "Logs Data Platform"' - name: dbaas_logs_graylog_output_stream.html.markdown - title: dbaas_logs_graylog_output_stream.html.markdown - argumentDocs: - can_alert: '- Indicates if the current user can create alert on the stream' - cold_storage_compression: '- Cold storage compression method. One of "LZMA", "GZIP", "DEFLATED", "ZSTD"' - cold_storage_content: '- ColdStorage content. One of "ALL", "GLEF", "PLAIN"' - cold_storage_enabled: '- Is Cold storage enabled?' - cold_storage_notify_enabled: '- Notify on new Cold storage archive' - cold_storage_retention: '- Cold storage retention in year' - cold_storage_target: '- ColdStorage destination. One of "PCA", "PCS"' - created_at: '- Stream creation' - description: '- (Required) Stream description' - indexing_enabled: '- Enable ES indexing' - indexing_max_size: '- Maximum indexing size (in GB)' - indexing_notify_enabled: '- If set, notify when size is near 80, 90 or 100 % of the maximum configured setting' - is_editable: '- Indicates if you are allowed to edit entry' - is_shareable: '- Indicates if you are allowed to share entry' - nb_alert_condition: '- Number of alert condition' - nb_archive: '- Number of coldstored archivesr' - parent_stream_id: '- Parent stream ID' - pause_indexing_on_max_size: '- If set, pause indexing when maximum size is reach' - retention_id: '- Retention ID' - service_name: '- (Required) The service name' - stream_id: '- Stream ID' - title: '- (Required) Stream description' - updated_at: '- Stream last updater' - web_socket_enabled: '- Enable Websocket' - importStatements: [] - dbaas_logs_input.html.markdown: - subCategory: "" - description: 'dbaas_logs_input.html.markdownsubcategory : "Logs Data Platform"' - name: dbaas_logs_input.html.markdown - title: dbaas_logs_input.html.markdown - argumentDocs: - allowed_networks: '- List of IP blocks' - configuration: '- (Required) Input configuration' - created_at: '- Input creation' - description: '- (Required) Input description' - engine_id: '- (Required) Input engine ID' - exposed_port: '- Port' - filter_section: '- (Optional) The filter section of logstash.conf' - flowgger: '- (Optional) Flowgger configuration' - hostname: '- Hostname' - input_id: '- Input ID' - input_section: '- (Required) The filter section of logstash.conf' - is_restart_required: '- Indicate if input need to be restarted' - log_format: '- Type of format to decode. One of "RFC5424", "LTSV", "GELF", "CAPNP"' - log_framing: '- Indicates how messages are delimited. One of "LINE", "NUL", "SYSLEN", "CAPNP"' - logstash: '- (Optional) Logstash configuration' - nb_instance: '- Number of instance running' - pattern_section: '- (Optional) The list of customs Grok patterns' - public_address: '- Input IP address' - service_name: '- (Required) service name' - ssl_certificate: '- Input SSL certificate' - status: '- init: configuration required, pending: ready to start, running: available' - stream_id: '- (Required) Associated Graylog stream' - title: '- (Required) Input title' - updated_at: '- Input last update' - importStatements: [] - dbaas_logs_input_engine.html.markdown: - subCategory: "" - description: 'dbaas_logs_input_engine.html.markdownsubcategory : "Logs Data Platform"' - name: dbaas_logs_input_engine.html.markdown - title: dbaas_logs_input_engine.html.markdown - argumentDocs: - is_deprecated: '- Indicates if engine will soon not be supported.' - name: '- The name of the logs input engine.' - service_name: '- The service name. It''s the ID of your Logs Data Platform instance.' - version: '- Software version' + name: cloud_project_containerregistry_users.html Resource - terraform-provider-ovh + title: cloud_project_containerregistry_users.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - dbaas_logs_output_graylog_stream.html.markdown: + cloud_project_database.html Resource - terraform-provider-ovh: subCategory: "" - description: 'dbaas_logs_output_graylog_stream.html.markdownsubcategory : "Logs Data Platform"' - name: dbaas_logs_output_graylog_stream.html.markdown - title: dbaas_logs_output_graylog_stream.html.markdown - argumentDocs: - cold_storage_compression: '- Cold storage compression method' - cold_storage_content: '- ColdStorage content' - cold_storage_enabled: '- Is Cold storage enabled?' - cold_storage_notify_enabled: '- Notify on new Cold storage archive' - cold_storage_retention: '- Cold storage retention in year' - cold_storage_target: '- ColdStorage destination' - created_at: '- Stream creation' - description: '- Stream description' - indexing_enabled: '- Enable ES indexing' - indexing_max_size: '- Maximum indexing size (in GB)' - indexing_notify_enabled: '- If set, notify when size is near 80, 90 or 100 % of the maximum configured setting' - is_editable: '- Indicates if you are allowed to edit entry' - is_shareable: '- Indicates if you are allowed to share entry' - nb_alert_condition: '- Number of alert condition' - nb_archive: '- Number of coldstored archives' - parent_stream_id: '- Parent stream ID' - pause_indexing_on_max_size: '- If set, pause indexing when maximum size is reach' - retention_id: '- Retention ID' - service_name: '- The service name. It''s the ID of your Logs Data Platform instance.' - stream_id: '- Stream ID' - title: '- Stream description' - updated_at: '- Stream last update' - web_socket_enabled: '- Enable Websocket' - importStatements: [] - dedicated_ceph.html.markdown: - subCategory: "" - description: 'dedicated_ceph.html.markdownsubcategory : "Cloud Disk Array"' - name: dedicated_ceph.html.markdown - title: dedicated_ceph.html.markdown - argumentDocs: - ceph_mons: '- list of CEPH monitors IPs' - ceph_version: '- CEPH cluster version' - crush_tunables: '- CRUSH algorithm settings. Possible values' - label: '- CEPH cluster label' - region: '- cluster region' - service_name: '- (Required) The service name of the dedicated CEPH cluster.' - size: '- Cluster size in TB' - state: '- the state of the cluster' - status: '- the status of the service' - urn: '- URN of the CEPH instance' - importStatements: [] - dedicated_ceph_acl.markdown: - subCategory: "" - description: 'dedicated_ceph_acl.markdownsubcategory : "Cloud Disk Array"' - name: dedicated_ceph_acl.markdown - title: dedicated_ceph_acl.markdown - argumentDocs: - family: '- IP family. IPv4 or IPv6' - netmask: '- (Required) The network mask to apply' - network: '- (Required) The network IP to authorize' - service_name: '- (Required) The internal name of your dedicated CEPH' + name: cloud_project_database.html Resource - terraform-provider-ovh + title: cloud_project_database.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - dedicated_installation_templates.html.markdown: + cloud_project_database_capabilities.html Resource - terraform-provider-ovh: subCategory: "" - description: 'dedicated_installation_templates.html.markdownsubcategory : "Dedicated Server"' - name: dedicated_installation_templates.html.markdown - title: dedicated_installation_templates.html.markdown - argumentDocs: - result: '- The list of installation templates IDs available for dedicated servers.' + name: cloud_project_database_capabilities.html Resource - terraform-provider-ovh + title: cloud_project_database_capabilities.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - dedicated_nasha.html.markdown: + cloud_project_database_certificates.html Resource - terraform-provider-ovh: subCategory: "" - description: 'dedicated_nasha.html.markdownsubcategory : "NAS-HA"' - name: dedicated_nasha.html.markdown - title: dedicated_nasha.html.markdown - argumentDocs: - can_create_partition: '- True, if partition creation is allowed on this HA-NAS' - custom_name: '- The name you give to the HA-NAS' - datacenter: '- area of HA-NAS' - disk_type: '- the disk type of the HA-NAS. Possible values are: hdd, ssd, nvme' - ip: '- Access IP of HA-NAS' - monitored: '- Send an email to customer if any issue is detected' - service_name: '- (Required) The service_name of your dedicated HA-NAS.' - urn: '- the URN of the HA-NAS instance' - zpool_capacity: '- percentage of HA-NAS space used in %' - zpool_size: '- the size of the HA-NAS in GB' - importStatements: [] - dedicated_nasha_partition.markdown: - subCategory: "" - description: 'dedicated_nasha_partition.markdownsubcategory : "NAS-HA"' - name: dedicated_nasha_partition.markdown - title: dedicated_nasha_partition.markdown - argumentDocs: - capacity: '- Percentage of partition space used in %' - description: '- A brief description of the partition' - name: '- (Required) name of the partition' - protocol: '- (Required) one of "NFS", "CIFS" or "NFS_CIFS"' - service_name: '- (Required) The internal name of your HA-NAS (it has to be ordered via OVHcloud interface)' - size: '- (Required) size of the partition in GB' - used_by_snapshots: '- Percentage of partition space used by snapshots in %' - importStatements: [] - dedicated_nasha_partition_access.markdown: - subCategory: "" - description: 'dedicated_nasha_partition_access.markdownsubcategory : "NAS-HA"' - name: dedicated_nasha_partition_access.markdown - title: dedicated_nasha_partition_access.markdown - argumentDocs: - ip: '- (Required) ip block in x.x.x.x/x format' - partition_name: '- (Required) name of the partition' - service_name: '- (Required) The internal name of your HA-NAS (it has to be ordered via OVHcloud interface)' - type: '- (Required) one of "readwrite", "readonly"' + name: cloud_project_database_certificates.html Resource - terraform-provider-ovh + title: cloud_project_database_certificates.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - dedicated_nasha_partition_snapshot.markdown: + cloud_project_database_database.html Resource - terraform-provider-ovh: subCategory: "" - description: 'dedicated_nasha_partition_snapshot.markdownsubcategory : "NAS-HA"' - name: dedicated_nasha_partition_snapshot.markdown - title: dedicated_nasha_partition_snapshot.markdown - argumentDocs: - partition_name: '- (Required) name of the partition' - service_name: '- (Required) The internal name of your HA-NAS (it has to be ordered via OVHcloud interface)' - type: '- (Required) Snapshot interval, allowed : day-1, day-2, day-3, day-7, hour-1, hour-6' + name: cloud_project_database_database.html Resource - terraform-provider-ovh + title: cloud_project_database_database.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - dedicated_server.html.markdown: + cloud_project_database_databases.html Resource - terraform-provider-ovh: subCategory: "" - description: 'dedicated_server.html.markdownsubcategory : "Dedicated Server"' - name: dedicated_server.html.markdown - title: dedicated_server.html.markdown - argumentDocs: - boot_id: '- Boot id of the server' - boot_script: '- Boot script of the server' - commercial_range: '- Dedicated server commercial range' - datacenter: '- Dedicated datacenter localisation (bhs1,bhs2,...)' - display_name: '- Dedicated server display name' - enabled: '- VirtualNetworkInterface activation state' - enabled_public_vnis: '- List of enabled public VNI uuids' - enabled_vrack_aggregation_vnis: '- List of enabled vrack_aggregation VNI uuids' - enabled_vrack_vnis: '- List of enabled vrack VNI uuids' - ip: '- Dedicated server ip (IPv4)' - ips: '- Dedicated server ip blocks' - link_speed: '- Link speed of the server' - mode: '- VirtualNetworkInterface mode (public,vrack,vrack_aggregation)' - monitoring: '- Icmp monitoring state' - name: '- Dedicated server name' - nics: '- NetworkInterfaceControllers bound to this VirtualNetworkInterface' - os: '- Operating system' - professional_use: '- Does this server have professional use option' - rack: '- Rack id of the server' - rescue_mail: '- Rescue mail of the server' - reverse: '- Dedicated server reverse' - root_device: '- Root device of the server' - server_id: '- Server id' - server_name: '- Server bound to this VirtualNetworkInterface' - service_name: '- (Required) The service_name of your dedicated server.' - state: '- Error, hacked, hackedBlocked, ok' - support_level: '- Dedicated server support level (critical, fastpath, gs, pro)' - urn: '- URN of the dedicated server instance' - uuid: '- VirtualNetworkInterface unique id' - vnis: '- The list of Virtualnetworkinterface associated with this server' - vrack: '- vRack name' - importStatements: [] - dedicated_server_boots.html.markdown: - subCategory: "" - description: 'dedicated_server_boots.html.markdownsubcategory : "Dedicated Server"' - name: dedicated_server_boots.html.markdown - title: dedicated_server_boots.html.markdown - argumentDocs: - boot_type: '- (Optional) Filter the value of bootType property (harddisk, rescue, ipxeCustomerScript, internal, network)' - kernel: '- (Optional) Filter the value of kernel property (iPXE script name)' - result: '- The list of dedicated server netboots.' - service_name: '- (Required) The internal name of your dedicated server.' + name: cloud_project_database_databases.html Resource - terraform-provider-ovh + title: cloud_project_database_databases.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - dedicated_server_install_task.html.markdown: + cloud_project_database_integration.html Resource - terraform-provider-ovh: subCategory: "" - description: 'dedicated_server_install_task.html.markdownsubcategory : "Dedicated Server"' - name: dedicated_server_install_task.html.markdown - title: dedicated_server_install_task.html.markdown - argumentDocs: - bootid_on_destroy: '- If set, reboot the server on the specified boot id during destroy phase.' - comment: '- Details of this task. (should be Install asked)' - details: '- see details block below.' - details.change_log: '- Template change log details.' - details.custom_hostname: '- Set up the server using the provided hostname instead of the default hostname.' - details.disk_group_id: '- Disk group id.' - details.install_rtm: '- set to true to install RTM.' - details.install_sql_server: '- set to true to install sql server (Windows template only).' - details.language: '- language.' - details.no_raid: '- set to true to disable RAID.' - details.post_installation_script_link: '- Indicate the URL where your postinstall customisation script is located.' - details.post_installation_script_return: '- Indicate the string returned by your postinstall customisation script on successful execution. Advice: your script should return a unique validation string in case of succes. A good example is ''loh1Xee7eo OK OK OK UGh8Ang1Gu''.' - details.reset_hw_raid: '- set to true to make a hardware raid reset.' - details.soft_raid_devices: '- soft raid devices.' - details.ssh_key_name: '- Name of the ssh key that should be installed. Password login will be disabled.' - details.use_distrib_kernel: '- Use the distribution''s native kernel instead of the recommended OVHcloud Kernel.' - details.use_spla: '- set to true to use SPLA.' - done_date: '- Completion date in RFC3339 format.' - function: '- Function name (should be hardInstall).' - id: '- The task id' - last_update: '- Last update in RFC3339 format.' - partition_scheme_name: '- Partition scheme name.' - service_name: '- (Required) The service_name of your dedicated server.' - start_date: '- Task creation date in RFC3339 format.' - status: '- Task status (should be done)' - template_name: '- (Required) Template name.' - importStatements: [] - dedicated_server_reboot_task.html.markdown: - subCategory: "" - description: 'dedicated_server_reboot_task.html.markdownsubcategory : "Dedicated Server"' - name: dedicated_server_reboot_task.html.markdown - title: dedicated_server_reboot_task.html.markdown - argumentDocs: - comment: '- Details of this task. (should be Reboot asked)' - done_date: '- Completion date in RFC3339 format.' - function: '- Function name (should be hardReboot).' - id: '- The task id' - keepers: '- List of values tracked to trigger reboot, used also to form implicit dependencies.' - last_update: '- Last update in RFC3339 format.' - service_name: '- (Required) The service_name of your dedicated server.' - start_date: '- Task creation date in RFC3339 format.' - status: '- Task status (should be done)' - importStatements: [] - dedicated_server_specifications_hardware.html.markdown: - subCategory: "" - description: 'dedicated_server_specifications_hardware.html.markdownsubcategory : "Dedicated Server"' - name: dedicated_server_specifications_hardware.html.markdown - title: dedicated_server_specifications_hardware.html.markdown - argumentDocs: - boot_mode: '- Server boot mode' - cores_per_processor: '- Number of cores per processor' - default_hardware_raid_size: '- Default hardware raid size for this server' - default_hardware_raid_type: '- Default hardware raid type configured on this server' - description: '- Commercial name of this server' - disk_group_id: '- Identifier of this disk group' - disk_groups: '- Details about the groups of disks in the server' - disk_size: '- Disk capacity' - disk_type: '- Type of the disk (SSD, SATA, SAS, ...)' - expansion_cards: '- Details about the server''s expansion cards' - form_factor: '- Server form factor' - memory_size: '- RAM capacity' - motherboard: '- Server motherboard' - number_of_disks: '- Number of disks in this group' - number_of_processors: '- Number of processors in this dedicated server' - processor_architecture: '- Processor architecture bit' - processor_name: '- Processor name' - raid_controller: '- Raid controller, if any, managing this group of disks' - service_name: '- (Required) The internal name of your dedicated server.' - threads_per_processor: '- Number of threads per processor' - type: '- Expansion card type enum' - usb_keys: '- Capacity of the USB keys installed on your server, if any' - importStatements: [] - dedicated_server_update.html.markdown: - subCategory: "" - description: 'dedicated_server_update.html.markdownsubcategory : "Dedicated Server"' - name: dedicated_server_update.html.markdown - title: dedicated_server_update.html.markdown - argumentDocs: - boot_id: '- boot id of the server' - boot_script: '- boot script of the server' - monitoring: '- Icmp monitoring state' - service_name: '- (Required) The service_name of your dedicated server.' - state: '- error, hacked, hackedBlocked, ok' + name: cloud_project_database_integration.html Resource - terraform-provider-ovh + title: cloud_project_database_integration.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - dedicated_servers.html.markdown: + cloud_project_database_integrations.html Resource - terraform-provider-ovh: subCategory: "" - description: 'dedicated_servers.html.markdownsubcategory : "Dedicated Server"' - name: dedicated_servers.html.markdown - title: dedicated_servers.html.markdown - argumentDocs: - result: '- The list of dedicated servers IDs associated with your OVHcloud Account.' + name: cloud_project_database_integrations.html Resource - terraform-provider-ovh + title: cloud_project_database_integrations.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - domain_zone.html.markdown: + cloud_project_database_ip_restriction.html Resource - terraform-provider-ovh: subCategory: "" - description: 'domain_zone.html.markdownsubcategory : "Domain names"' - name: domain_zone.html.markdown - title: domain_zone.html.markdown - argumentDocs: - dnssec_supported: '- Is DNSSEC supported by this zone' - has_dns_anycast: '- hasDnsAnycast flag of the DNS zone' - last_update: '- Last update date of the DNS zone' - name: '- (Required) The name of the domain zone.' - name_servers: '- Name servers that host the DNS zone' - urn: '- URN of the DNS zone' - importStatements: [] - hosting_privatedatabase.html.markdown: - subCategory: "" - description: 'hosting_privatedatabase.html.markdownsubcategory : "Web Cloud Private SQL"' - name: hosting_privatedatabase.html.markdown - title: hosting_privatedatabase.html.markdown - argumentDocs: - catalog_name: '- Catalog name' - configuration: '- (Optional) Representation of a configuration item for personalizing product' - cpu: '- Number of CPU on your private database' - datacenter: '- Datacenter where this private database is located' - date: '- date' - description: '- Custom description on your privatedatabase order.' - details: '- Information about a Bill entry' - display_name: '- Name displayed in customer panel for your private database' - domain: '- expiration date' - duration: '- (Required) duration.' - expiration_date: '- expiration date' - hostname: '- Private database hostname' - hostname_ftp: '- Private database FTP hostname' - id: '- Private database id' - infrastructure: '- Infrastructure where service was stored' - label: '- (Required) Identifier of the resource' - offer: '- Type of the private database offer' - order: '- Details about your Order' - order_detail_id: '- order detail id' - order_id: '- order id' - ovh_subsidiary: '- (Required) OVHcloud Subsidiary. Country of OVHcloud legal entity you''ll be billed by. List of supported subsidiaries available on API at /1.0/me.json under' - plan: '- (Required) Product Plan to order' - plan_code: '- (Required) Plan code.' - plan_option: ': Product Plan to order' - port: ': Private database service port' - port_ftp: ': Private database FTP port' - pricing_mode: '- (Required) Pricing model identifier' - quantity: '- quantity' - quota_size: ': Space allowed (in MB) on your private database' - quota_used: ': Sapce used (in MB) on your private database' - ram: ': Amount of ram (in MB) on your private database' - server: ': Private database server name' - service_name: ': Service name' - state: ': Private database state' - type: ': Private database type' - urn: '- URN of the private database, used when writing IAM policies' - value: '- (Required) Path to the resource in API.OVH.COM' - version: ': Private database available versions' - version_label: ': Private database version label' - version_number: ': Private database version number' - importStatements: [] - hosting_privatedatabase_database.html.markdown: - subCategory: "" - description: 'hosting_privatedatabase_database.html.markdownsubcategory : "Web Cloud Private SQL"' - name: hosting_privatedatabase_database.html.markdown - title: hosting_privatedatabase_database.html.markdown - argumentDocs: - database_name: '- (Required) Name of your new database' - service_name: '- The internal name of your private database.' + name: cloud_project_database_ip_restriction.html Resource - terraform-provider-ovh + title: cloud_project_database_ip_restriction.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - hosting_privatedatabase_user.html.markdown: + cloud_project_database_ip_restrictions.html Resource - terraform-provider-ovh: subCategory: "" - description: 'hosting_privatedatabase_user.html.markdownsubcategory : "Web Cloud Private SQL"' - name: hosting_privatedatabase_user.html.markdown - title: hosting_privatedatabase_user.html.markdown - argumentDocs: - password: '- (Required) Password for the new user (alphanumeric, minimum one number and 8 characters minimum)' - service_name: '- The internal name of your private database.' - user_name: '- (Required) User name used to connect on your databases' + name: cloud_project_database_ip_restrictions.html Resource - terraform-provider-ovh + title: cloud_project_database_ip_restrictions.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - hosting_privatedatabase_user_grant.html.markdown: + cloud_project_database_kafka_acl.html Resource - terraform-provider-ovh: subCategory: "" - description: 'hosting_privatedatabase_user_grant.html.markdownsubcategory : "Web Cloud Private SQL"' - name: hosting_privatedatabase_user_grant.html.markdown - title: hosting_privatedatabase_user_grant.html.markdown - argumentDocs: - database_name: '- (Required) Database name where add grant.' - grant: '- (Required) Database name where add grant. Values can be:' - service_name: '- The internal name of your private database.' - user_name: '- (Required) User name used to connect on your databases.' + name: cloud_project_database_kafka_acl.html Resource - terraform-provider-ovh + title: cloud_project_database_kafka_acl.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - hosting_privatedatabase_whitelist.html.markdown: + cloud_project_database_kafka_acls.html Resource - terraform-provider-ovh: subCategory: "" - description: 'hosting_privatedatabase_whitelist.html.markdownsubcategory : "Web Cloud Private SQL"' - name: hosting_privatedatabase_whitelist.html.markdown - title: hosting_privatedatabase_whitelist.html.markdown - argumentDocs: - ip: '- (Required) The whitelisted IP in your instance.' - name: '- (Required) Custom name for your Whitelisted IP.' - service: '- (Required) Authorize this IP to access service port. Values can be true or false' - service_name: '- The internal name of your private database.' - sftp: '- (Required) Authorize this IP to access SFTP port. Values can be true or false' + name: cloud_project_database_kafka_acls.html Resource - terraform-provider-ovh + title: cloud_project_database_kafka_acls.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - iam_permissions_group.html.markdown: + cloud_project_database_kafka_schemaregistryacl.html Resource - terraform-provider-ovh: subCategory: "" - description: 'iam_permissions_group.html.markdownsubcategory : "Account Management"' - name: iam_permissions_group.html.markdown - title: iam_permissions_group.html.markdown - argumentDocs: - allow: '- Set of actions allowed by the permissions group.' - created_at: '- Creation date of this group.' - deny: '- Set of actions that will be denied no matter what permissions group exists.' - description: '- Group description.' - except: '- Set of actions that will be subtracted from the allow list.' - name: '- Name of the permissions group.' - owner: '- Owner of the permissions group.' - read_only: '- Indicates that the permissions group is a default one.' - updated_at: '- Date of the last update of this group.' - urn: '- URN of the permissions group.' - importStatements: [] - iam_permissions_groups.markdown: - subCategory: "" - description: 'iam_permissions_groups.markdownsubcategory : "Account Management"' - name: iam_permissions_groups.markdown - title: iam_permissions_groups.markdown - argumentDocs: - allow: '- Set of actions allowed by the permissions group.' - created_at: '- Creation date of this group.' - deny: '- Set of actions that will always be denied even if it is explicitly allowed by a policy.' - description: '- Group description.' - except: '- Set of actions that will be subtracted from the allow list.' - name: '- Name of the permissions group.' - owner: '- Owner of the permissions group.' - read_only: '- Indicates that this is a default permissions group, managed by OVHcloud.' - updated_at: '- Date of the last update of this group.' - urn: '- URN of the permissions group.' - importStatements: [] - iam_policies.html.markdown: - subCategory: "" - description: 'iam_policies.html.markdownsubcategory : "Account Management"' - name: iam_policies.html.markdown - title: iam_policies.html.markdown - argumentDocs: - id: '- Hash of the list of the policy IDs.' - policies: '- List of the policies IDs.' + name: cloud_project_database_kafka_schemaregistryacl.html Resource - terraform-provider-ovh + title: cloud_project_database_kafka_schemaregistryacl.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - iam_policy.html.markdown: + cloud_project_database_kafka_schemaregistryacls.html Resource - terraform-provider-ovh: subCategory: "" - description: 'iam_policy.html.markdownsubcategory : "Account Management"' - name: iam_policy.html.markdown - title: iam_policy.html.markdown - argumentDocs: - allow: '- List of actions allowed on resources by identities' - created_at: '- Creation date of this group.' - deny: '- List of actions that will always be denied even if also allowed by this policy or another one.' - description: '- Description of the policy' - except: '- List of overrides of action that must not be allowed even if they are caught by allow. Only makes sens if allow contains wildcards.' - identities: '- List of identities affected by the policy' - name: '- Name of the policy, must be unique' - owner: '- Owner of the policy.' - permissions_groups: '- Set of permissions groups included in the policy. At evaluation, these permissions groups are each evaluated independently (notably, excepts actions only affect actions in the same permission group).' - read_only: '- Indicates that the policy is a default one.' - resources: '- List of resources affected by the policy' - updated_at: '- Date of the last update of this group.' - importStatements: [] - iam_reference_actions.html.markdown: - subCategory: "" - description: 'iam_reference_actions.html.markdownsubcategory : "Account Management"' - name: iam_reference_actions.html.markdown - title: iam_reference_actions.html.markdown - argumentDocs: - action: '- Name of the action' - actions: '- List of actions' - categories: '- List of the categories of the action' - description: '- Description of the action' - resource_type: '- Resource type the action is related to' - type: '- Kind of resource we want the actions for' - importStatements: [] - iam_reference_resource_type.markdown: - subCategory: "" - description: 'iam_reference_resource_type.markdownsubcategory : "Account Management"' - name: iam_reference_resource_type.markdown - title: iam_reference_resource_type.markdown - argumentDocs: - id: '- hash of the list of the resource types' - types: '- List of resource types' + name: cloud_project_database_kafka_schemaregistryacls.html Resource - terraform-provider-ovh + title: cloud_project_database_kafka_schemaregistryacls.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - iam_resource_group.html.markdown: + cloud_project_database_kafka_topic.html Resource - terraform-provider-ovh: subCategory: "" - description: 'iam_resource_group.html.markdownsubcategory : "Account Management"' - name: iam_resource_group.html.markdown - title: iam_resource_group.html.markdown - argumentDocs: - created_at: '- Date of the creation of the resource group' - id: '- Id of the resource group' - name: '- Name of the resource group' - owner: '- Name of the account owning the resource group' - read_only: '- Marks that the resource group is not editable. Usually means that this is a default resource group created by OVHcloud' - resources: '- Set of the URNs of the resources contained in the resource group. All urns must be ones of valid resources' - updated_at: '- Date of the last modification of the resource group' - urn: '- URN of the resource group, used when writing policies' - importStatements: [] - iam_resource_groups.html.markdown: - subCategory: "" - description: 'iam_resource_groups.html.markdownsubcategory : "Account Management"' - name: iam_resource_groups.html.markdown - title: iam_resource_groups.html.markdown - argumentDocs: - id: '- Hash of the list of the resource groups IDs.' - resource_groups: '- List of the resource groups IDs.' + name: cloud_project_database_kafka_topic.html Resource - terraform-provider-ovh + title: cloud_project_database_kafka_topic.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - ip_move.html.markdown: + cloud_project_database_kafka_topics.html Resource - terraform-provider-ovh: subCategory: "" - description: 'ip_move.html.markdownsubcategory : "Additional IP"' - name: ip_move.html.markdown - title: ip_move.html.markdown - argumentDocs: - can_be_terminated: '- Whether IP service can be terminated' - country: '- Country' - description: '- Description attached to the IP' - ip: '- (Required) IP block that we want to attach to a different service' - organisation_id: '- IP block organisation Id' - routed_to: |- - - (Required) Service to route the IP to. If null, the IP will be parked - instead of moved - service_name: '- (Required) Name of the service to route the IP to. IP will be parked if this value is an empty string' - task_start_date: '- Starting date and time field of the current IP task that is in charge of changing the service the IP is attached to' - task_status: '- Status field of the current IP task that is in charge of changing the service the IP is attached to' - type: '- Possible values for ip type' - importStatements: [] - ip_reverse.html.markdown: - subCategory: "" - description: 'ip_reverse.html.markdownsubcategory : "Additional IP"' - name: ip_reverse.html.markdown - title: ip_reverse.html.markdown - argumentDocs: - ip: '- (Required) The IP block to which the IP belongs' - ip_reverse: '- (Required) The IP to set the reverse of' - reverse: '- (Required) The value of the reverse' + name: cloud_project_database_kafka_topics.html Resource - terraform-provider-ovh + title: cloud_project_database_kafka_topics.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - ip_service.html.markdown: + cloud_project_database_kafka_user_access.html Resource - terraform-provider-ovh: subCategory: "" - description: 'ip_service.html.markdownsubcategory : "Additional IP"' - name: ip_service.html.markdown - title: ip_service.html.markdown - argumentDocs: - can_be_terminated: '- can be terminated' - catalog_name: '- Catalog name' - configuration: '- (Optional) Representation of a configuration item for personalizing product' - country: '- country' - date: '- date' - description: '- Custom description on your ip.' - details: '- Information about a Bill entry' - domain: '- expiration date' - duration: '- (Required) duration' - expiration_date: '- expiration date' - ip: '- ip block' - label: '- (Required) Identifier of the resource' - order: '- Details about an Order' - order_detail_id: '- order detail id' - order_id: '- order id' - organisation_id: '- IP block organisation Id' - ovh_subsidiary: '- (Required) OVHcloud Subsidiary. Country of OVHcloud legal entity you''ll be billed by. List of supported subsidiaries available on API at /1.0/me.json under' - plan: '- (Required) Product Plan to order' - plan_code: '- (Required) Plan code' - plan_option: '- (Optional) Product Plan to order' - pricing_mode: '- (Required) Pricing model identifier' - quantity: '- quantity' - routed_to: '- Routage information' - service_name: '- Service where ip is routed to' - type: '- Possible values for ip type' - value: '- (Required) Path to the resource in API.OVH.COM' - importStatements: [] - iploadbalancing.html.markdown: - subCategory: "" - description: 'iploadbalancing.html.markdownsubcategory : "Load Balancer (IPLB)"' - name: iploadbalancing.html.markdown - title: iploadbalancing.html.markdown - argumentDocs: - catalog_name: '- Catalog name' - configuration: '- (Optional) Representation of a configuration item for personalizing product' - date: '- date' - description: '- description' - details: '- Information about a Bill entry' - display_name: '- Set the name displayed in ManagerV6 for your iplb (max 50 chars)' - domain: '- expiration date' - duration: '- (Required) duration' - expiration_date: '- expiration date' - ip_loadbalancing: '- Your IP load balancing' - ipv4: '- The IPV4 associated to your IP load balancing' - ipv6: '- The IPV6 associated to your IP load balancing. DEPRECATED.' - label: '- (Required) Identifier of the resource' - metrics_token: '- The metrics token associated with your IP load balancing' - name: '- The zone three letter code' - offer: '- The offer of your IP load balancing' - order: '- Details about an Order' - order_detail_id: '- order detail id' - order_id: '- order id' - orderable_zone: '- Available additional zone for your Load Balancer' - ovh_subsidiary: '- (Required) OVHcloud Subsidiary. Country of OVHcloud legal entity you''ll be billed by. List of supported subsidiaries available on API at /1.0/me.json under' - plan: '- (Required) Product Plan to order' - plan_code: '- (Required) Plan code' - plan_option: '- (Optional) Product Plan to order' - pricing_mode: '- (Required) Pricing model identifier' - quantity: '- quantity' - service_name: '- The internal name of your IP load balancing' - ssl_configuration: '- Modern oldest compatible clients : Firefox 27, Chrome 30, IE 11 on Windows 7, Edge, Opera 17, Safari 9, Android 5.0, and Java 8. Intermediate oldest compatible clients : Firefox 1, Chrome 1, IE 7, Opera 5, Safari 1, Windows XP IE8, Android 2.3, Java 7. Intermediate if null. one of "intermediate", "modern".' - state: '- Current state of your IP' - urn: '- URN of the load balancer, used when writing IAM policies' - value: '- (Required) Path to the resource in API.OVH.COM' - vrack_eligibility: '- Vrack eligibility' - vrack_name: '- Name of the vRack on which the current Load Balancer is attached to, as it is named on vRack product' - zone: '- Location where your service is' - importStatements: [] - iploadbalancing_http_farm.html.markdown: - subCategory: "" - description: 'iploadbalancing_http_farm.html.markdownsubcategory : "Load Balancer (IPLB)"' - name: iploadbalancing_http_farm.html.markdown - title: iploadbalancing_http_farm.html.markdown - argumentDocs: - balance: '- Load balancing algorithm. roundrobin if null (first, leastconn, roundrobin, source)' - display_name: '- Readable label for loadbalancer farm' - force_ssl: '- Force use of SSL (TLS)' - interval: '- probe interval, Value between 30 and 3600 seconds, default 30' - match: '- What to match pattern against (contains, default, internal, matches, status)' - method: '- HTTP probe method (GET, HEAD, OPTIONS, internal)' - negate: '- Negate probe result' - pattern: '- Pattern to match against match' - port: '- Port attached to your farm ([1..49151]). Inherited from frontend if null' - probe: '- define a backend healthcheck probe' - service_name: '- (Required) The internal name of your IP load balancing' - stickiness: "- \tStickiness type. No stickiness if null (sourceIp, cookie)" - type: '- (Required) Valid values : http, internal, mysql, oco, pgsql, smtp, tcp' - url: '- URL for HTTP probe type.' - vrack_network_id: '- Internal Load Balancer identifier of the vRack private network to attach to your farm, mandatory when your Load Balancer is attached to a vRack' - zone: '- (Required) Zone where the farm will be defined (ie. GRA, BHS also supports ALL)' - importStatements: [] - iploadbalancing_http_farm_server.html.markdown: - subCategory: "" - description: 'iploadbalancing_http_farm_server.html.markdownsubcategory : "Load Balancer (IPLB)"' - name: iploadbalancing_http_farm_server.html.markdown - title: iploadbalancing_http_farm_server.html.markdown - argumentDocs: - address: '- Address of the backend server (IP from either internal or OVHcloud network)' - backup: '- is it a backup server used in case of failure of all the non-backup backends' - cookie: '- Value of the stickiness cookie used for this backend.' - display_name: '- Label for the server' - farm_id: '- ID of the farm this server is attached to' - on_marked_down: '- enable action when backend marked down. (shutdown-sessions)' - port: '- Port that backend will respond on' - probe: '- defines if backend will be probed to determine health and keep as active in farm if healthy' - proxy_protocol_version: '- version of the PROXY protocol used to pass origin connection information from loadbalancer to receiving service (v1, v2, v2-ssl, v2-ssl-cn)' - service_name: '- (Required) The internal name of your IP load balancing' - ssl: '- is the connection ciphered with SSL (TLS)' - status: '- backend status - active or inactive' - weight: '- used in loadbalancing algorithm' - importStatements: [] - iploadbalancing_http_frontend.html.markdown: - subCategory: "" - description: 'iploadbalancing_http_frontend.html.markdownsubcategory : "Load Balancer (IPLB)"' - name: iploadbalancing_http_frontend.html.markdown - title: iploadbalancing_http_frontend.html.markdown - argumentDocs: - allowed_source: '- Restrict IP Load Balancing access to these ip block. No restriction if null. List of IP blocks.' - dedicated_ipfo: '- Only attach frontend on these ip. No restriction if null. List of Ip blocks.' - default_farm_id: '- Default TCP Farm of your frontend' - default_ssl_id: '- Default ssl served to your customer' - disabled: '- Disable your frontend. Default: ''false''' - display_name: '- Human readable name for your frontend, this field is for you' - hsts: '- HTTP Strict Transport Security. Default: ''false''' - http_header: '- HTTP headers to add to the frontend. List of string.' - id: '- Id of your frontend' - port: |- - - Port(s) attached to your frontend. Supports single port (numerical value), - range (2 dash-delimited increasing ports) and comma-separated list of 'single port' - and/or 'range'. Each port must be in the [1;49151] range - redirect_location: '- Redirection HTTP''' - service_name: '- (Required) The internal name of your IP load balancing' - ssl: '- SSL deciphering. Default: ''false''' - zone: '- (Required) Zone where the frontend will be defined (ie. gra, bhs also supports all)' - importStatements: [] - iploadbalancing_http_route.html.markdown: - subCategory: "" - description: 'iploadbalancing_http_route.html.markdownsubcategory : "Load Balancer (IPLB)"' - name: iploadbalancing_http_route.html.markdown - title: iploadbalancing_http_route.html.markdown - argumentDocs: - action: '- (Required) Action triggered when all rules match' - display_name: '- Human readable name for your route, this field is for you' - field: '- Name of the field to match like "protocol" or "host" "/ipLoadbalancing/{serviceName}/route/availableRules" for a list of available rules' - frontend_id: '- Route traffic for this frontend' - match: '- Matching operator. Not all operators are available for all fields. See "availableRules"' - negate: '- Invert the matching operator effect' - pattern: '- Value to match against this match. Interpretation if this field depends on the match and field' - rule_id: '- Id of your rule' - rules: '- List of rules to match to trigger action' - service_name: '- (Required) The internal name of your IP load balancing' - status: '- HTTP status code for "redirect" and "reject" actions' - sub_field: '- Name of sub-field, if applicable. This may be a Cookie or Header name for instance' - target: '- Farm ID for "farm" action type or URL template for "redirect" action. You may use ${uri}, ${protocol}, ${host}, ${port} and ${path} variables in redirect target' - type: '- (Required) Action to trigger if all the rules of this route matches' - weight: '- Route priority ([0..255]). 0 if null. Highest priority routes are evaluated first. Only the first matching route will trigger an action' - importStatements: [] - iploadbalancing_http_route_rule.html.markdown: - subCategory: "" - description: 'iploadbalancing_http_route_rule.html.markdownsubcategory : "Load Balancer (IPLB)"' - name: iploadbalancing_http_route_rule.html.markdown - title: iploadbalancing_http_route_rule.html.markdown - argumentDocs: - display_name: '- Human readable name for your rule, this field is for you' - field: '- (Required) Name of the field to match like "protocol" or "host". See "/ipLoadbalancing/{serviceName}/availableRouteRules" for a list of available rules' - match: '- (Required) Matching operator. Not all operators are available for all fields. See "/ipLoadbalancing/{serviceName}/availableRouteRules"' - negate: '- Invert the matching operator effect' - pattern: '- Value to match against this match. Interpretation if this field depends on the match and field' - route_id: '- (Required) The route to apply this rule' - service_name: '- (Required) The internal name of your IP load balancing' - sub_field: '- Name of sub-field, if applicable. This may be a Cookie or Header name for instance' - importStatements: [] - iploadbalancing_refresh.html.markdown: - subCategory: "" - description: 'iploadbalancing_refresh.html.markdownsubcategory : "Load Balancer (IPLB)"' - name: iploadbalancing_refresh.html.markdown - title: iploadbalancing_refresh.html.markdown - argumentDocs: - keepers: '- List of values tracked to trigger refresh, used also to form implicit dependencies' - service_name: '- (Required) The internal name of your IP load balancing' + name: cloud_project_database_kafka_user_access.html Resource - terraform-provider-ovh + title: cloud_project_database_kafka_user_access.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - iploadbalancing_tcp_farm.html.markdown: + cloud_project_database_log_subscription.html Resource - terraform-provider-ovh: subCategory: "" - description: 'iploadbalancing_tcp_farm.html.markdownsubcategory : "Load Balancer (IPLB)"' - name: iploadbalancing_tcp_farm.html.markdown - title: iploadbalancing_tcp_farm.html.markdown - argumentDocs: - balance: '- Load balancing algorithm. roundrobin if null (first, leastconn, roundrobin, source)' - display_name: '- Readable label for loadbalancer farm' - force_ssl: '- Force use of SSL (TLS)' - interval: '- probe interval, Value between 30 and 3600 seconds, default 30' - match: '- What to match pattern against (contains, default, internal, matches, status)' - method: '- HTTP probe method (GET, HEAD, OPTIONS, internal)' - negate: '- Negate probe result' - pattern: '- Pattern to match against match' - port: '- Port attached to your farm ([1..49151]). Inherited from frontend if null' - probe: '- define a backend healthcheck probe' - service_name: '- (Required) The internal name of your IP load balancing' - stickiness: "- \tStickiness type. No stickiness if null (sourceIp)" - type: '- (Required) Valid values : http, internal, mysql, oco, pgsql, smtp, tcp' - url: '- URL for HTTP probe type.' - vrack_network_id: '- Internal Load Balancer identifier of the vRack private network to attach to your farm, mandatory when your Load Balancer is attached to a vRack' - zone: '- (Required) Zone where the farm will be defined (ie. GRA, BHS also supports ALL)' - importStatements: [] - iploadbalancing_tcp_farm_server.html.markdown: - subCategory: "" - description: 'iploadbalancing_tcp_farm_server.html.markdownsubcategory : "Load Balancer (IPLB)"' - name: iploadbalancing_tcp_farm_server.html.markdown - title: iploadbalancing_tcp_farm_server.html.markdown - argumentDocs: - address: '- Address of the backend server (IP from either internal or OVHcloud network)' - backup: '- is it a backup server used in case of failure of all the non-backup backends' - cookie: '- Value of the stickiness cookie used for this backend.' - display_name: '- Label for the server' - farm_id: '- ID of the farm this server is attached to' - on_marked_down: '- enable action when backend marked down. (shutdown-sessions)' - port: '- Port that backend will respond on' - probe: '- defines if backend will be probed to determine health and keep as active in farm if healthy' - proxy_protocol_version: '- version of the PROXY protocol used to pass origin connection information from loadbalancer to receiving service (v1, v2, v2-ssl, v2-ssl-cn)' - service_name: '- (Required) The internal name of your IP load balancing' - ssl: '- is the connection ciphered with SSL (TLS)' - status: '- backend status - active or inactive' - weight: '- used in loadbalancing algorithm' - importStatements: [] - iploadbalancing_tcp_frontend.html.markdown: - subCategory: "" - description: 'iploadbalancing_tcp_frontend.html.markdownsubcategory : "Load Balancer (IPLB)"' - name: iploadbalancing_tcp_frontend.html.markdown - title: iploadbalancing_tcp_frontend.html.markdown - argumentDocs: - allowed_source: '- Restrict IP Load Balancing access to these ip block. No restriction if null. List of IP blocks.' - dedicated_ipfo: '- Only attach frontend on these ip. No restriction if null. List of Ip blocks.' - default_farm_id: '- Default TCP Farm of your frontend' - default_ssl_id: '- Default ssl served to your customer' - disabled: '- Disable your frontend. Default: ''false''' - display_name: '- Human readable name for your frontend, this field is for you' - id: '- Id of your frontend' - port: |- - - Port(s) attached to your frontend. Supports single port (numerical value), - range (2 dash-delimited increasing ports) and comma-separated list of 'single port' - and/or 'range'. Each port must be in the [1;49151] range - service_name: '- (Required) The internal name of your IP load balancing' - ssl: '- SSL deciphering. Default: ''false''' - zone: '- (Required) Zone where the frontend will be defined (ie. gra, bhs also supports all)' - importStatements: [] - iploadbalancing_tcp_route.html.markdown: - subCategory: "" - description: 'iploadbalancing_tcp_route.html.markdownsubcategory : "Load Balancer (IPLB)"' - name: iploadbalancing_tcp_route.html.markdown - title: iploadbalancing_tcp_route.html.markdown - argumentDocs: - action: '- (Required) Action triggered when all rules match' - display_name: '- Human readable name for your route, this field is for you' - field: '- Name of the field to match like "protocol" or "host" "/ipLoadbalancing/{serviceName}/route/availableRules" for a list of available rules' - frontend_id: '- Route traffic for this frontend' - match: '- Matching operator. Not all operators are available for all fields. See "availableRules"' - negate: '- Invert the matching operator effect' - pattern: '- Value to match against this match. Interpretation if this field depends on the match and field' - rule_id: '- Id of your rule' - rules: '- List of rules to match to trigger action' - service_name: '- (Required) The internal name of your IP load balancing' - status: '- Route status. Routes in "ok" state are ready to operate' - sub_field: '- Name of sub-field, if applicable. This may be a Cookie or Header name for instance' - target: '- Farm ID for "farm" action type, empty for others.' - type: '- (Required) Action to trigger if all the rules of this route matches' - weight: '- Route priority ([0..255]). 0 if null. Highest priority routes are evaluated first. Only the first matching route will trigger an action' - importStatements: [] - iploadbalancing_tcp_route_rule.html.markdown: - subCategory: "" - description: 'iploadbalancing_tcp_route_rule.html.markdownsubcategory : "Load Balancer (IPLB)"' - name: iploadbalancing_tcp_route_rule.html.markdown - title: iploadbalancing_tcp_route_rule.html.markdown - argumentDocs: - display_name: '- Human readable name for your rule, this field is for you' - field: '- (Required) Name of the field to match like "protocol" or "host". See "/ipLoadbalancing/{serviceName}/availableRouteRules" for a list of available rules' - match: '- (Required) Matching operator. Not all operators are available for all fields. See "/ipLoadbalancing/{serviceName}/availableRouteRules"' - negate: '- Invert the matching operator effect' - pattern: '- Value to match against this match. Interpretation if this field depends on the match and field' - route_id: '- (Required) The route to apply this rule' - service_name: '- (Required) The internal name of your IP load balancing' - sub_field: '- Name of sub-field, if applicable. This may be a Cookie or Header name for instance' - importStatements: [] - iploadbalancing_vrack_network.html.markdown: - subCategory: "" - description: 'iploadbalancing_vrack_network.html.markdownsubcategory : "Load Balancer (IPLB)"' - name: iploadbalancing_vrack_network.html.markdown - title: iploadbalancing_vrack_network.html.markdown - argumentDocs: - display_name: '- Human readable name for your vrack network' - farm_id: '- This attribute is there for documentation purpose only and isnt passed to the OVHcloud API as it may conflicts with http/tcp farms vrack_network_id attribute' - nat_ip: '- (Required) An IP block used as a pool of IPs by this Load Balancer to connect to the servers in this private network. The blck must be in the private network and reserved for the Load Balancer' - service_name: '- (Required) The internal name of your IP load balancing' - subnet: '- (Required) IP block of the private network in the vRack' - vlan: '- VLAN of the private network in the vRack. 0 if the private network is not in a VLAN' - vrack_network_id: '- (Required) Internal Load Balancer identifier of the vRack private network' - importStatements: [] - iploadbalancing_vrack_networks.html.markdown: - subCategory: "" - description: 'iploadbalancing_vrack_networks.html.markdownsubcategory : "Load Balancer (IPLB)"' - name: iploadbalancing_vrack_networks.html.markdown - title: iploadbalancing_vrack_networks.html.markdown - argumentDocs: - result: '- The list of vrack network ids.' - service_name: '- (Required) The internal name of your IP load balancing' - subnet: '- Filters networks on the subnet.' - vlan_id: '- Filters networks on the vlan id.' + name: cloud_project_database_log_subscription.html Resource - terraform-provider-ovh + title: cloud_project_database_log_subscription.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - me.html.markdown: + cloud_project_database_log_subscriptions.html Resource - terraform-provider-ovh: subCategory: "" - description: 'me.html.markdownsubcategory : "Account Management"' - name: me.html.markdown - title: me.html.markdown - argumentDocs: - address: ': Postal address of the account' - area: ': Area of the account' - birth_city: ': City of birth' - birth_day: ': Birth date' - city: ': City of the account' - code: ': Currency code used by this account (e.g EUR, USD, ...)' - company_national_identification_number: ': This is the national identification number of the company that possess this account' - corporation_type: ': Type of corporation' - country: ': Country of the account' - currency: ':' - customer_code: ': The customer code of this account (a numerical value used for identification when contacting support via phone call)' - email: ': Email address' - fax: ': Fax number' - firstname: ': First name' - italian_sdi: ': Italian SDI' - language: ': Preferred language for this account' - legalform: ': Legal form of the account' - name: ': Name of the account holder' - national_identification_number: ': National Identification Number of this account' - nichandle: ': Nic handle / customer identifier' - organisation: ': Name of the organisation for this account' - ovh_company: ': OVHcloud subsidiary' - ovh_subsidiary: ': OVHcloud subsidiary' - phone: ': Phone number' - phone_country: ': Country code of the phone number' - sex: ': Gender of the account holder' - spare_email: ': Backup email address' - state: ': State of the postal address' - symbol: ': Currency symbol used by this account (e.g €, $, ...)' - urn: ': The resource URN of the account, to be used when writing IAM policies' - vat: ': VAT number' - zip: ': Zipcode of the address' - importStatements: [] - me_api_oauth2_client.html.markdown: - subCategory: "" - description: 'me_api_oauth2_client.html.markdownsubcategory : "Account Management"' - name: me_api_oauth2_client.html.markdown - title: me_api_oauth2_client.html.markdown - argumentDocs: - callback_urls: '- List of callback urls when configuring the AUTHORIZATION_CODE flow.' - client_id: '- Client ID of the created service account.' - client_secret: '- Client secret of the created service account.' - description: '- OAuth2 client description.' - flow: '- The OAuth2 flow to use. AUTHORIZATION_CODE or CLIENT_CREDENTIALS are supported at the moment.' - name: '- OAuth2 client name.' - importStatements: [] - me_api_oauth2_client.markdown: - subCategory: "" - description: 'me_api_oauth2_client.markdownsubcategory : "Account Management"' - name: me_api_oauth2_client.markdown - title: me_api_oauth2_client.markdown - argumentDocs: - callback_urls: '- List of callback urls when configuring the AUTHORIZATION_CODE flow.' - client_id: '- Client ID of an existing OAuth2 service account.' - description: '- OAuth2 client description.' - flow: '- The OAuth2 flow to use. AUTHORIZATION_CODE or CLIENT_CREDENTIALS are supported at the moment.' - name: '- OAuth2 client name.' + name: cloud_project_database_log_subscriptions.html Resource - terraform-provider-ovh + title: cloud_project_database_log_subscriptions.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - me_api_oauth2_clients.markdown: + cloud_project_database_m3db_namespace.html Resource - terraform-provider-ovh: subCategory: "" - description: 'me_api_oauth2_clients.markdownsubcategory : "Account Management"' - name: me_api_oauth2_clients.markdown - title: me_api_oauth2_clients.markdown - argumentDocs: - client_ids: '- The list of all the existing client IDs.' + name: cloud_project_database_m3db_namespace.html Resource - terraform-provider-ovh + title: cloud_project_database_m3db_namespace.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - me_identity_group.html.markdown: + cloud_project_database_m3db_namespaces.html Resource - terraform-provider-ovh: subCategory: "" - description: 'me_identity_group.html.markdownsubcategory : "Account Management"' - name: me_identity_group.html.markdown - title: me_identity_group.html.markdown - argumentDocs: - creation: '- Creation date of this group.' - default_group: '- Is the group a default and immutable one.' - description: '- Group description.' - last_update: '- Date of the last update of this group.' - name: '- Group name.' - role: '- Role associated with the group. Valid roles are ADMIN, REGULAR, UNPRIVILEGED, and NONE.' - urn: '- URN of the user group, used when writing IAM policies' - importStatements: [] - me_identity_group.markdown: - subCategory: "" - description: 'me_identity_group.markdownsubcategory : "Account Management"' - name: me_identity_group.markdown - title: me_identity_group.markdown - argumentDocs: - creation: '- Creation date of this group.' - default_group: '- Is the group a default and immutable one.' - description: '- Group description.' - last_update: '- Date of the last update of this group.' - name: '- Group name.' - role: '- Role associated with the group. Valid roles are ADMIN, REGULAR, UNPRIVILEGED, and NONE.' - urn: '- Identity URN of the group.' - importStatements: [] - me_identity_groups.markdown: - subCategory: "" - description: 'me_identity_groups.markdownsubcategory : "Account Management"' - name: me_identity_groups.markdown - title: me_identity_groups.markdown - argumentDocs: - groups: '- The list of the group names of all the identity groups.' + name: cloud_project_database_m3db_namespaces.html Resource - terraform-provider-ovh + title: cloud_project_database_m3db_namespaces.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - me_identity_user.html.markdown: + cloud_project_database_m3db_user.html Resource - terraform-provider-ovh: subCategory: "" - description: 'me_identity_user.html.markdownsubcategory : "Account Management"' - name: me_identity_user.html.markdown - title: me_identity_user.html.markdown - argumentDocs: - creation: '- Creation date of this user.' - description: '- User description.' - email: '- User''s email.' - group: '- User''s group.' - last_update: '- Last update of this user.' - login: '- User''s login suffix.' - password: '- User''s password.' - password_last_update: '- When the user changed his password for the last time.' - status: '- Current user''s status.' - urn: '- URN of the user, used when writing IAM policies' - importStatements: [] - me_identity_user.markdown: - subCategory: "" - description: 'me_identity_user.markdownsubcategory : "Account Management"' - name: me_identity_user.markdown - title: me_identity_user.markdown - argumentDocs: - creation: '- Creation date of this user.' - description: '- User description.' - email: '- User''s email.' - group: '- User''s group.' - last_update: '- Last update of this user.' - login: '- User''s login suffix.' - password_last_update: '- When the user changed his password for the last time.' - status: '- Current user''s status.' - urn: '- User''s identity URN.' - user: '- (Required) User''s login.' - importStatements: [] - me_identity_users.markdown: - subCategory: "" - description: 'me_identity_users.markdownsubcategory : "Account Management"' - name: me_identity_users.markdown - title: me_identity_users.markdown - argumentDocs: - users: '- The list of the user''s logins of all the identity users.' + name: cloud_project_database_m3db_user.html Resource - terraform-provider-ovh + title: cloud_project_database_m3db_user.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - me_installation_template.html.markdown: + cloud_project_database_mongodb_user.html Resource - terraform-provider-ovh: subCategory: "" - description: 'me_installation_template.html.markdownsubcategory : "Dedicated Server"' - name: me_installation_template.html.markdown - title: me_installation_template.html.markdown - argumentDocs: - available_languages: ': List of all language available for this template.' - base_template_name: ': (Required) The name of an existing installation template, choose one among the list given by ovh_dedicated_installation_templates datasource.' - beta: ': This distribution is new and, although tested and functional, may still display odd behaviour.' - bit_format: ': This template bit format (32 or 64).' - category: ': Category of this template (informative only). (basic, customer, hosting, other, readyToUse, virtualisation).' - change_log: ': (DEPRECATED) Template change log details.' - custom_hostname: ': Set up the server using the provided hostname instead of the default hostname.' - customization: ':' - default_language: ': (Required) The default language of this template.' - deprecated: ': is this distribution deprecated.' - description: ': information about this template.' - distribution: ': the distribution this template is based on.' - family: ': this template family type (bsd,linux,solaris,windows).' - filesystems: ': Filesystems available (btrfs,ext3,ext4,ntfs,reiserfs,swap,ufs,xfs,zfs).' - hard_raid_configuration: ': This distribution supports hardware raid configuration through the OVHcloud API.' - id: ': This template name.' - last_modification: ': Date of last modification of the base image.' - post_installation_script_link: ': Indicate the URL where your postinstall customisation script is located.' - post_installation_script_return: ': indicate the string returned by your postinstall customisation script on successful execution. Advice: your script should return a unique validation string in case of succes. A good example is ''loh1Xee7eo OK OK OK UGh8Ang1Gu''.' - rating: ': (DEPRECATED) Rating.' - remove_default_partition_schemes: ': (Required) Remove default partition schemes at creation.' - ssh_key_name: ': Name of the ssh key that should be installed. Password login will be disabled.' - supports_distribution_kernel: ': This distribution supports installation using the distribution''s native kernel instead of the recommended OVHcloud kernel.' - supports_rtm: ': This distribution supports RTM software.' - supports_sql_server: ': This distribution supports the microsoft SQL server.' - template_name: ': (Required) This template name.' - use_distribution_kernel: ': Use the distribution''s native kernel instead of the recommended OV' - importStatements: [] - me_installation_template_partition_scheme.html.markdown: - subCategory: "" - description: 'me_installation_template_partition_scheme.html.markdownsubcategory : "Dedicated Server"' - name: me_installation_template_partition_scheme.html.markdown - title: me_installation_template_partition_scheme.html.markdown - argumentDocs: - id: ': a fake id associated with this partition scheme formatted as follow: template_name/name' - name: ': (Required) (Required) This partition scheme name.' - priority: ': on a reinstall, if a partitioning scheme is not specified, the one with the higher priority will be used by default, among all the compatible partitioning schemes (given the underlying hardware specifications).' - template_name: ': (Required) The template name of the partition scheme.' + name: cloud_project_database_mongodb_user.html Resource - terraform-provider-ovh + title: cloud_project_database_mongodb_user.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - me_installation_template_partition_scheme_hardware_raid.html.markdown: + cloud_project_database_opensearch_pattern.html Resource - terraform-provider-ovh: subCategory: "" - description: 'me_installation_template_partition_scheme_hardware_raid.html.markdownsubcategory : "Dedicated Server"' - name: me_installation_template_partition_scheme_hardware_raid.html.markdown - title: me_installation_template_partition_scheme_hardware_raid.html.markdown - argumentDocs: - disks: ': Disk List. Syntax is cX:dY for disks and [cX:dY,cX:dY] for groups. With X and Y resp. the controller id and the disk id.' - id: ': a fake id associated with this partition scheme hardware raid group formatted as follow: template_name/scheme_name/name' - mode: ': RAID mode (raid0, raid1, raid10, raid5, raid50, raid6, raid60).' - name: ': Hardware RAID name.' - scheme_name: ': (Required) The partition scheme name.' - step: ': Specifies the creation order of the hardware RAID.' - template_name: ': (Required) The template name of the partition scheme.' - importStatements: [] - me_installation_template_partition_scheme_partition.html.markdown: - subCategory: "" - description: 'me_installation_template_partition_scheme_partition.html.markdownsubcategory : "Dedicated Server"' - name: me_installation_template_partition_scheme_partition.html.markdown - title: me_installation_template_partition_scheme_partition.html.markdown - argumentDocs: - filesystem: ': Partition filesystem. Enum with possibles values:' - id: ': a fake id associated with this partition scheme partition formatted as follow: template_name/scheme_name/mountpoint' - mountpoint: ': (Required) partition mount point.' - order: ': step or order. specifies the creation order of the partition on the disk' - raid: ': raid partition type. Enum with possible values:' - scheme_name: ': (Required) The partition scheme name.' - size: ': size of partition in MB, 0 => rest of the space.' - template_name: ': (Required) The template name of the partition scheme.' - type: ': partition type. Enum with possible values:' - volume_name: ': The volume name needed for proxmox distribution' - importStatements: [] - me_installation_templates.html.markdown: - subCategory: "" - description: 'me_installation_templates.html.markdownsubcategory : "Dedicated Server"' - name: me_installation_templates.html.markdown - title: me_installation_templates.html.markdown - argumentDocs: - result: '- The list of custom installation templates IDs available for dedicated servers.' + name: cloud_project_database_opensearch_pattern.html Resource - terraform-provider-ovh + title: cloud_project_database_opensearch_pattern.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - me_paymentmean_bankaccount.markdown: + cloud_project_database_opensearch_patterns.html Resource - terraform-provider-ovh: subCategory: "" - description: 'me_paymentmean_bankaccount.markdownsubcategory : "Account Management"' - name: me_paymentmean_bankaccount.markdown - title: me_paymentmean_bankaccount.markdown - argumentDocs: - default: |- - - a boolean which tells if the retrieved bank account - is marked as the default payment mean - description: '- the description attribute of the bank account' - description_regexp: |- - - (Optional) a regexp used to filter bank accounts - on their description attributes. - state: |- - - (Optional) Filter bank accounts on their state attribute. - Can be "blockedForIncidents", "valid", "pendingValidation" - use_default: '- (Optional) Retrieve bank account marked as default payment mean.' - use_oldest: |- - - (Optional) Retrieve oldest bank account. - project. - importStatements: [] - me_paymentmean_creditcard.markdown: - subCategory: "" - description: 'me_paymentmean_creditcard.markdownsubcategory : "Account Management"' - name: me_paymentmean_creditcard.markdown - title: me_paymentmean_creditcard.markdown - argumentDocs: - default: |- - - a boolean which tells if the retrieved credit card - is marked as the default payment mean - description: '- the description attribute of the credit card' - description_regexp: |- - - (Optional) a regexp used to filter credit cards - on their description attributes. - state: '- the state attribute of the credit card' - states: |- - - (Optional) Filter credit cards on their state attribute. - Can be "expired", "valid", "tooManyFailures" - use_default: '- (Optional) Retrieve credit card marked as default payment mean.' - use_last_to_expire: |- - - (Optional) Retrieve the credit card that will be the last - to expire according to its expiration date. - importStatements: [] - me_ssh_key.html.markdown: - subCategory: "" - description: 'me_ssh_key.html.markdownsubcategory : "Account Management"' - name: me_ssh_key.html.markdown - title: me_ssh_key.html.markdown - argumentDocs: - default: '- True when this public SSH key is used for rescue mode and reinstallations.' - key: '- (Required) The content of the public key in the form "ssh-algo content", e.g. "ssh-ed25519 AAAAC3...".' - key_name: '- (Required) The friendly name of this SSH key.' + name: cloud_project_database_opensearch_patterns.html Resource - terraform-provider-ovh + title: cloud_project_database_opensearch_patterns.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - me_ssh_key.markdown: + cloud_project_database_opensearch_user.html Resource - terraform-provider-ovh: subCategory: "" - description: 'me_ssh_key.markdownsubcategory : "Account Management"' - name: me_ssh_key.markdown - title: me_ssh_key.markdown - argumentDocs: - default: '- True when this public SSH key is used for rescue mode and reinstallations.' - key: |- - - The content of the public key. - E.g.: "ssh-ed25519 AAAAC3..." - key_name: '- (Required) The name of the SSH key.' + name: cloud_project_database_opensearch_user.html Resource - terraform-provider-ovh + title: cloud_project_database_opensearch_user.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - me_ssh_keys.markdown: + cloud_project_database_postgresql_connection_pool.html Resource - terraform-provider-ovh: subCategory: "" - description: 'me_ssh_keys.markdownsubcategory : "Account Management"' - name: me_ssh_keys.markdown - title: me_ssh_keys.markdown - argumentDocs: - names: '- The list of the names of all the SSH keys.' + name: cloud_project_database_postgresql_connection_pool.html Resource - terraform-provider-ovh + title: cloud_project_database_postgresql_connection_pool.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - order_cart.html.markdown: + cloud_project_database_postgresql_connection_pools.html Resource - terraform-provider-ovh: subCategory: "" - description: 'order_cart.html.markdownsubcategory : "Order"' - name: order_cart.html.markdown - title: order_cart.html.markdown - argumentDocs: - assign: '- Assign a shopping cart to a logged in client. Values can be true or false.' - cart_id: '- Cart identifier' - description: '- Description of your cart' - expire: '- Expiration time (format: 2006-01-02T15:04:05+00:00)' - items: '- Items of your cart' - ovh_subsidiary: '- (Required) OVHcloud Subsidiary. Country of OVHcloud legal entity you''ll be billed by. List of supported subsidiaries available on API at /1.0/me.json under' - read_only: '- Indicates if the cart has already been validated' - importStatements: [] - order_cart_product.html.markdown: - subCategory: "" - description: 'order_cart_product.html.markdownsubcategory : "Order"' - name: order_cart_product.html.markdown - title: order_cart_product.html.markdown - argumentDocs: - capacities: '- Capacities of the pricing (type of pricing)' - cart_id: '- (Required) Cart identifier' - currency_code: '- Currency code' - description: '- Description of the pricing' - duration: '- Duration for ordering the product' - interval: '- Interval of renewal' - maximum_quantity: '- Maximum quantity that can be ordered' - maximum_repeat: '- Maximum repeat for renewal' - minimum_quantity: '- Minimum quantity that can be ordered' - minimum_repeat: '- Minimum repeat for renewal' - plan_code: '- Product offer identifier' - price: '- Price of the product (Price with its currency and textual representation)' - price_in_ucents: '- Price of the product in micro-centims' - prices: '- Prices of the product offer' - pricing_mode: '- Pricing model identifier' - pricing_type: '- Pricing type' - product: '- (Required) product' - product_name: '- Name of the product' - product_type: '- Product type' - result: '- products results' - text: '- Textual representation' - value: '- The effective price' - importStatements: [] - order_cart_product_options.html.markdown: - subCategory: "" - description: 'order_cart_product_options.html.markdownsubcategory : "Order"' - name: order_cart_product_options.html.markdown - title: order_cart_product_options.html.markdown - argumentDocs: - capacities: '- Capacities of the pricing (type of pricing)' - cart_id: '- (Required) Cart identifier' - catalog_name: '- Catalog name' - currency_code: '- Currency code' - description: '- Description of the pricing' - duration: '- Duration for ordering the product' - exclusive: '- Define if options of this family are exclusive with each other' - family: '- Option family' - interval: '- Interval of renewal' - mandatory: '- Define if an option of this family is mandatory' - maximum_quantity: '- Maximum quantity that can be ordered' - maximum_repeat: '- Maximum repeat for renewal' - minimum_quantity: '- Minimum quantity that can be ordered' - minimum_repeat: '- Minimum repeat for renewal' - plan_code: '- (Required) Product offer identifier' - price: '- Price of the product (Price with its currency and textual representation)' - price_in_ucents: '- Price of the product in micro-centims' - prices: '- Prices of the product offer' - pricing_mode: '- Pricing model identifier' - pricing_type: '- Pricing type' - product: '- (Required) Product' - product_name: '- Name of the product' - product_type: '- Product type' - result: '- products results' - text: '- Textual representation' - value: '- The effective price' - importStatements: [] - order_cart_product_options_plan.html.markdown: - subCategory: "" - description: 'order_cart_product_options_plan.html.markdownsubcategory : "Order"' - name: order_cart_product_options_plan.html.markdown - title: order_cart_product_options_plan.html.markdown - argumentDocs: - capacities: '- Capacities of the pricing (type of pricing)' - cart_id: '- (Required) Cart identifier' - catalog_name: '- Catalog name' - currency_code: '- Currency code' - description: '- Description of the pricing' - duration: '- Duration for ordering the product' - exclusive: '- Define if options of this family are exclusive with each other' - family: '- Option family' - interval: '- Interval of renewal' - mandatory: '- Define if an option of this family is mandatory' - maximum_quantity: '- Maximum quantity that can be ordered' - maximum_repeat: '- Maximum repeat for renewal' - minimum_quantity: '- Minimum quantity that can be ordered' - minimum_repeat: '- Minimum repeat for renewal' - options_plan_code: '- (Required) options plan code.' - plan_code: '- (Required) Product offer identifier' - price: '- Price of the product (Price with its currency and textual representation)' - price_capacity: '- (Required) Capacity of the pricing (type of pricing)' - price_in_ucents: '- Price of the product in micro-centims' - prices: '- Prices of the product offer' - pricing_mode: '- Pricing model identifier' - pricing_type: '- Pricing type' - product: '- (Required) Product' - product_name: '- Name of the product' - product_type: '- Product type' - selected_price: '- Selected Price according to capacity' - text: '- Textual representation' - value: '- The effective price' - importStatements: [] - order_cart_product_plan.html.markdown: - subCategory: "" - description: 'order_cart_product_plan.html.markdownsubcategory : "Order"' - name: order_cart_product_plan.html.markdown - title: order_cart_product_plan.html.markdown - argumentDocs: - capacities: '- Capacities of the pricing (type of pricing)' - cart_id: '- (Required) Cart identifier' - catalog_name: '- Catalog name' - currency_code: '- Currency code' - description: '- Description of the pricing' - duration: '- Duration for ordering the product' - interval: '- Interval of renewal' - maximum_quantity: '- Maximum quantity that can be ordered' - maximum_repeat: '- Maximum repeat for renewal' - minimum_quantity: '- Minimum quantity that can be ordered' - minimum_repeat: '- Minimum repeat for renewal' - plan_code: '- (Required) Product offer identifier' - price: '- Price of the product (Price with its currency and textual representation)' - price_capacity: '- (Required) Capacity of the pricing (type of pricing)' - price_in_ucents: '- Price of the product in micro-centims' - prices: '- Prices of the product offer' - pricing_mode: '- Pricing model identifier' - pricing_type: '- Pricing type' - product: '- (Required) Product' - product_name: '- Name of the product' - product_type: '- Product type' - selected_price: '- Selected Price according to capacity' - text: '- Textual representation' - value: '- The effective price' - importStatements: [] - ovh_domain_zone: - subCategory: "" - description: 'ovh_domain_zone.html.markdownsubcategory : "Domain names"' - name: ovh_domain_zone - title: ovh_domain_zone.html.markdown - examples: - - name: zone - manifest: |- - { - "ovh_subsidiary": "${data.ovh_order_cart.mycart.ovh_subsidiary}", - "plan": [ - { - "configuration": [ - { - "label": "zone", - "value": "myzone.mydomain.com" - }, - { - "label": "template", - "value": "minimized" - } - ], - "duration": "${data.ovh_order_cart_product_plan.zone.selected_price.0.duration}", - "plan_code": "${data.ovh_order_cart_product_plan.zone.plan_code}", - "pricing_mode": "${data.ovh_order_cart_product_plan.zone.selected_price.0.pricing_mode}" - } - ] - } - references: - ovh_subsidiary: data.ovh_order_cart.mycart.ovh_subsidiary - plan.duration: data.ovh_order_cart_product_plan.zone.selected_price.0.duration - plan.plan_code: data.ovh_order_cart_product_plan.zone.plan_code - plan.pricing_mode: data.ovh_order_cart_product_plan.zone.selected_price.0.pricing_mode - argumentDocs: - catalog_name: '- Catalog name' - configuration: '- (Required) Representation of a configuration item for personalizing product. 2 configurations are required : one for zone and one for template' - date: '- date' - description: '- description' - details: '- Information about a Bill entry' - dnssec_supported: '- Is DNSSEC supported by this zone' - domain: '- expiration date' - duration: '- (Required) duration' - expiration_date: '- expiration date' - has_dns_anycast: '- hasDnsAnycast flag of the DNS zone' - label: '- (Required) Identifier of the resource : zone or template' - last_update: '- Last update date of the DNS zone' - name: '- Zone name' - name_servers: '- Name servers that host the DNS zone' - order: '- Details about an Order' - order_detail_id: '- order detail id' - order_id: '- order id' - ovh_subsidiary: '- (Required) OVHcloud Subsidiary. Country of OVHcloud legal entity you''ll be billed by. List of supported subsidiaries available on API at /1.0/me.json under' - plan: '- (Required) Product Plan to order' - plan_code: '- (Required) Plan code' - plan_option: '- (Optional) Product Plan to order' - pricing_mode: '- (Required) Pricing model identifier' - quantity: '- quantity' - value: '- (Required) For zone, the value is the zone name myzone.example.com. For template, the value can be basic, minimized or redirect which is the same as minimized with additional entries for a redirect configuration.' - importStatements: [] - ovh_domain_zone_record: - subCategory: "" - description: 'ovh_domain_zone_record.html.markdownsubcategory : "Domain names"' - name: ovh_domain_zone_record - title: ovh_domain_zone_record.html.markdown - examples: - - name: test - manifest: |- - { - "fieldtype": "A", - "subdomain": "test", - "target": "0.0.0.0", - "ttl": 3600, - "zone": "testdemo.ovh" - } - argumentDocs: - fieldType: '- The type of the record' - fieldtype: '- (Required) The type of the record' - id: '- The record ID' - subDomain: '- The name of the record' - subdomain: '- (Required) The name of the record. It can be an empty string.' - target: '- (Required) The value of the record' - ttl: '- (Optional) The TTL of the record, it shall be >= to 60.' - zone: '- (Required) The domain to add the record to' - importStatements: [] - ovh_domain_zone_redirection: - subCategory: "" - description: 'ovh_domain_zone_redirection.html.markdownsubcategory : "Domain names"' - name: ovh_domain_zone_redirection - title: ovh_domain_zone_redirection.html.markdown - examples: - - name: test - manifest: |- - { - "subdomain": "test", - "target": "http://www.ovh", - "type": "visiblePermanent", - "zone": "testdemo.ovh" - } - argumentDocs: - description: '- (Optional) A description of this redirection' - id: '- The redirection ID' - invisible: -> Redirection by html frame - keywords: '- (Optional) Keywords to describe this redirection' - subDomain: '- The name of the redirection' - subdomain: '- (Optional) The name of the redirection' - target: '- (Required) The value of the redirection' - title: '- (Optional) Title of this redirection' - type: '- (Required) The type of the redirection, with values:' - visible: -> Redirection by http code 302 - visiblePermanent: -> Redirection by http code 301 - zone: '- (Required) The domain to add the redirection to' - importStatements: [] - vps.html.markdown: - subCategory: "" - description: 'vps.html.markdownsubcategory : "VPS"' - name: vps.html.markdown - title: vps.html.markdown - argumentDocs: - cluster: '- The OVHcloud cluster the vps is in' - datacenter: '- The datacenter in which the vps is located' - datacenter.longname: '- The fullname of the datacenter (ex: "Strasbourg SBG1")' - datacenter.name: '- The short name of the datacenter (ex: "sbg1)' - displayname: '- The displayed name in the OVHcloud web admin' - ips: '- The list of IPs addresses attached to the vps' - keymap: '- The keymap for the ip kvm, valid values "", "fr", "us"' - memory: '- The amount of memory in MB of the vps.' - model: '- A dict describing the type of vps.' - model.name: '- The model name (ex: model1)' - model.offer: '- The model human description (ex: "VPS 2016 SSD 1")' - model.version: '- The model version (ex: "2017v2")' - netbootmode: '- The source of the boot kernel' - offertype: '- The type of offer (ssd, cloud, classic)' - service_name: '- (Required) The service_name of your dedicated server.' - slamonitoring: '- A boolean to indicate if OVHcloud SLA monitoring is active.' - state: '- The state of the vps' - type: '- The type of server' - urn: '- The URN of the vps' - vcore: '- The number of vcore of the vps' - zone: '- The OVHcloud zone where the vps is' - importStatements: [] - vpss.html.markdown: - subCategory: "" - description: 'vpss.html.markdownsubcategory : "VPS"' - name: vpss.html.markdown - title: vpss.html.markdown - argumentDocs: - result: '- The list of VPS IDs associated with your OVH Account.' + name: cloud_project_database_postgresql_connection_pools.html Resource - terraform-provider-ovh + title: cloud_project_database_postgresql_connection_pools.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - vrack.html.markdown: + cloud_project_database_postgresql_user.html Resource - terraform-provider-ovh: subCategory: "" - description: 'vrack.html.markdownsubcategory : "vRack"' - name: vrack.html.markdown - title: vrack.html.markdown - argumentDocs: - catalog_name: '- Catalog name' - configuration: '- (Optional) Representation of a configuration item for personalizing product' - date: '- date' - description: '- yourvrackdescription' - details: '- Information about a Bill entry' - domain: '- expiration date' - duration: '- (Required) duration' - expiration_date: '- expiration date' - label: '- (Required) Identifier of the resource' - name: '- yourvrackname' - order: '- Details about an Order' - order_detail_id: '- order detail id' - order_id: '- order id' - ovh_subsidiary: '- (Required) OVHcloud Subsidiary. Country of OVHcloud legal entity you''ll be billed by. List of supported subsidiaries available on API at /1.0/me.json under' - plan: '- (Required) Product Plan to order' - plan_code: '- (Required) Plan code' - plan_option: '- (Optional) Product Plan to order' - pricing_mode: '- (Required) Pricing model identifier' - quantity: '- quantity' - service_name: '- The internal name of your vrack' - urn: '- The URN of the vrack, used with IAM permissions' - value: '- (Required) Path to the resource in API.OVH.COM' - importStatements: [] - vrack_cloudproject.markdown: - subCategory: "" - description: 'vrack_cloudproject.markdownsubcategory : "vRack"' - name: vrack_cloudproject.markdown - title: vrack_cloudproject.markdown - argumentDocs: - project_id: |- - - (Required) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - service_name: |- - - (Required) The service name of the vrack. If omitted, - the OVH_VRACK_SERVICE environment variable is used. - importStatements: [] - vrack_dedicated_server.html.markdown: - subCategory: "" - description: 'vrack_dedicated_server.html.markdownsubcategory : "vRack"' - name: vrack_dedicated_server.html.markdown - title: vrack_dedicated_server.html.markdown - argumentDocs: - server_id: '- (Required) The id of the dedicated server.' - service_name: |- - - (Required) The service name of the vrack. If omitted, - the OVH_VRACK_SERVICE environment variable is used. + name: cloud_project_database_postgresql_user.html Resource - terraform-provider-ovh + title: cloud_project_database_postgresql_user.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - vrack_dedicated_server_interface.html.markdown: + cloud_project_database_redis_user.html Resource - terraform-provider-ovh: subCategory: "" - description: 'vrack_dedicated_server_interface.html.markdownsubcategory : "vRack"' - name: vrack_dedicated_server_interface.html.markdown - title: vrack_dedicated_server_interface.html.markdown - argumentDocs: - interface_id: '- (Required) The id of dedicated server network interface.' - service_name: |- - - (Required) The id of the vrack. If omitted, - the OVH_VRACK_SERVICE environment variable is used. + name: cloud_project_database_redis_user.html Resource - terraform-provider-ovh + title: cloud_project_database_redis_user.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - vrack_ip.html.markdown: + cloud_project_database_user.html Resource - terraform-provider-ovh: subCategory: "" - description: 'vrack_ip.html.markdownsubcategory : "vRack"' - name: vrack_ip.html.markdown - title: vrack_ip.html.markdown - argumentDocs: - block: '- (Required) Your IP block.' - gateway: '- Your gateway' - ip: '- Your IP block' - service_name: '- (Required) The internal name of your vrack' - zone: '- Where you want your block announced on the network' + name: cloud_project_database_user.html Resource - terraform-provider-ovh + title: cloud_project_database_user.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - vrack_iploadbalancing.html.markdown: + cloud_project_database_users.html Resource - terraform-provider-ovh: subCategory: "" - description: 'vrack_iploadbalancing.html.markdownsubcategory : "vRack"' - name: vrack_iploadbalancing.html.markdown - title: vrack_iploadbalancing.html.markdown - argumentDocs: - ip_loadbalancing: '- (Required) The id of the IP Load Balancing.' - service_name: '- (Required) The id of the vrack.' + name: cloud_project_database_users.html Resource - terraform-provider-ovh + title: cloud_project_database_users.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - vracks.html.markdown: + cloud_project_databases.html Resource - terraform-provider-ovh: subCategory: "" - description: 'vracks.html.markdownsubcategory : "vRack"' - name: vracks.html.markdown - title: vracks.html.markdown - argumentDocs: - result: '- The list of vrack service name available for your OVHcloud account.' - urn: '- The URN of the vps' + name: cloud_project_databases.html Resource - terraform-provider-ovh + title: cloud_project_databases.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + cloud_project_failover_ip_attach.html Resource - terraform-provider-ovh: + subCategory: "" + name: cloud_project_failover_ip_attach.html Resource - terraform-provider-ovh + title: cloud_project_failover_ip_attach.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + cloud_project_gateway.html Resource - terraform-provider-ovh: + subCategory: "" + name: cloud_project_gateway.html Resource - terraform-provider-ovh + title: cloud_project_gateway.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + cloud_project_gateway_interface.html Resource - terraform-provider-ovh: + subCategory: "" + name: cloud_project_gateway_interface.html Resource - terraform-provider-ovh + title: cloud_project_gateway_interface.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + cloud_project_kube.html Resource - terraform-provider-ovh: + subCategory: "" + name: cloud_project_kube.html Resource - terraform-provider-ovh + title: cloud_project_kube.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + cloud_project_kube_iprestrictions.html Resource - terraform-provider-ovh: + subCategory: "" + name: cloud_project_kube_iprestrictions.html Resource - terraform-provider-ovh + title: cloud_project_kube_iprestrictions.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + cloud_project_kube_nodepool.html Resource - terraform-provider-ovh: + subCategory: "" + name: cloud_project_kube_nodepool.html Resource - terraform-provider-ovh + title: cloud_project_kube_nodepool.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + cloud_project_kube_nodepool_nodes.html Resource - terraform-provider-ovh: + subCategory: "" + name: cloud_project_kube_nodepool_nodes.html Resource - terraform-provider-ovh + title: cloud_project_kube_nodepool_nodes.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + cloud_project_kube_nodes.html Resource - terraform-provider-ovh: + subCategory: "" + name: cloud_project_kube_nodes.html Resource - terraform-provider-ovh + title: cloud_project_kube_nodes.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + cloud_project_kube_oidc.html Resource - terraform-provider-ovh: + subCategory: "" + name: cloud_project_kube_oidc.html Resource - terraform-provider-ovh + title: cloud_project_kube_oidc.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + cloud_project_loadbalancer.html Resource - terraform-provider-ovh: + subCategory: "" + name: cloud_project_loadbalancer.html Resource - terraform-provider-ovh + title: cloud_project_loadbalancer.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + cloud_project_loadbalancers.html Resource - terraform-provider-ovh: + subCategory: "" + name: cloud_project_loadbalancers.html Resource - terraform-provider-ovh + title: cloud_project_loadbalancers.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + cloud_project_network_private.html Resource - terraform-provider-ovh: + subCategory: "" + name: cloud_project_network_private.html Resource - terraform-provider-ovh + title: cloud_project_network_private.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + cloud_project_network_private_subnet.html Resource - terraform-provider-ovh: + subCategory: "" + name: cloud_project_network_private_subnet.html Resource - terraform-provider-ovh + title: cloud_project_network_private_subnet.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + cloud_project_region.html Resource - terraform-provider-ovh: + subCategory: "" + name: cloud_project_region.html Resource - terraform-provider-ovh + title: cloud_project_region.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + cloud_project_region_loadbalancer_log_subscription Resource - terraform-provider-ovh: + subCategory: "" + name: cloud_project_region_loadbalancer_log_subscription Resource - terraform-provider-ovh + title: cloud_project_region_loadbalancer_log_subscription Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + cloud_project_region_loadbalancer_log_subscriptions Resource - terraform-provider-ovh: + subCategory: "" + name: cloud_project_region_loadbalancer_log_subscriptions Resource - terraform-provider-ovh + title: cloud_project_region_loadbalancer_log_subscriptions Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + cloud_project_region_storage_presign.html Resource - terraform-provider-ovh: + subCategory: "" + name: cloud_project_region_storage_presign.html Resource - terraform-provider-ovh + title: cloud_project_region_storage_presign.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + cloud_project_regions.html Resource - terraform-provider-ovh: + subCategory: "" + name: cloud_project_regions.html Resource - terraform-provider-ovh + title: cloud_project_regions.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + cloud_project_user.html Resource - terraform-provider-ovh: + subCategory: "" + name: cloud_project_user.html Resource - terraform-provider-ovh + title: cloud_project_user.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + cloud_project_user_s3_credential.html Resource - terraform-provider-ovh: + subCategory: "" + name: cloud_project_user_s3_credential.html Resource - terraform-provider-ovh + title: cloud_project_user_s3_credential.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + cloud_project_user_s3_credentials.html Resource - terraform-provider-ovh: + subCategory: "" + name: cloud_project_user_s3_credentials.html Resource - terraform-provider-ovh + title: cloud_project_user_s3_credentials.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + cloud_project_user_s3_policy.html Resource - terraform-provider-ovh: + subCategory: "" + name: cloud_project_user_s3_policy.html Resource - terraform-provider-ovh + title: cloud_project_user_s3_policy.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + cloud_project_users.html Resource - terraform-provider-ovh: + subCategory: "" + name: cloud_project_users.html Resource - terraform-provider-ovh + title: cloud_project_users.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + cloud_project_vrack.html Resource - terraform-provider-ovh: + subCategory: "" + name: cloud_project_vrack.html Resource - terraform-provider-ovh + title: cloud_project_vrack.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + cloud_project_workflow_backup.html Resource - terraform-provider-ovh: + subCategory: "" + name: cloud_project_workflow_backup.html Resource - terraform-provider-ovh + title: cloud_project_workflow_backup.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + cloud_projects.html Resource - terraform-provider-ovh: + subCategory: "" + name: cloud_projects.html Resource - terraform-provider-ovh + title: cloud_projects.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + dbaas_logs_cluster.html Resource - terraform-provider-ovh: + subCategory: "" + name: dbaas_logs_cluster.html Resource - terraform-provider-ovh + title: dbaas_logs_cluster.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + dbaas_logs_cluster_retention.html Resource - terraform-provider-ovh: + subCategory: "" + name: dbaas_logs_cluster_retention.html Resource - terraform-provider-ovh + title: dbaas_logs_cluster_retention.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + dbaas_logs_clusters.html Resource - terraform-provider-ovh: + subCategory: "" + name: dbaas_logs_clusters.html Resource - terraform-provider-ovh + title: dbaas_logs_clusters.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + dbaas_logs_input.html Resource - terraform-provider-ovh: + subCategory: "" + name: dbaas_logs_input.html Resource - terraform-provider-ovh + title: dbaas_logs_input.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + dbaas_logs_input_engine.html Resource - terraform-provider-ovh: + subCategory: "" + name: dbaas_logs_input_engine.html Resource - terraform-provider-ovh + title: dbaas_logs_input_engine.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + dbaas_logs_output_graylog_stream.html Resource - terraform-provider-ovh: + subCategory: "" + name: dbaas_logs_output_graylog_stream.html Resource - terraform-provider-ovh + title: dbaas_logs_output_graylog_stream.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + dbaas_logs_token.html Resource - terraform-provider-ovh: + subCategory: "" + name: dbaas_logs_token.html Resource - terraform-provider-ovh + title: dbaas_logs_token.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + dedicated_ceph.html Resource - terraform-provider-ovh: + subCategory: "" + name: dedicated_ceph.html Resource - terraform-provider-ovh + title: dedicated_ceph.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + dedicated_ceph_acl Resource - terraform-provider-ovh: + subCategory: "" + name: dedicated_ceph_acl Resource - terraform-provider-ovh + title: dedicated_ceph_acl Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + dedicated_installation_template.html Resource - terraform-provider-ovh: + subCategory: "" + name: dedicated_installation_template.html Resource - terraform-provider-ovh + title: dedicated_installation_template.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + dedicated_installation_templates.html Resource - terraform-provider-ovh: + subCategory: "" + name: dedicated_installation_templates.html Resource - terraform-provider-ovh + title: dedicated_installation_templates.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + dedicated_nasha.html Resource - terraform-provider-ovh: + subCategory: "" + name: dedicated_nasha.html Resource - terraform-provider-ovh + title: dedicated_nasha.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + dedicated_nasha_partition Resource - terraform-provider-ovh: + subCategory: "" + name: dedicated_nasha_partition Resource - terraform-provider-ovh + title: dedicated_nasha_partition Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + dedicated_nasha_partition_access Resource - terraform-provider-ovh: + subCategory: "" + name: dedicated_nasha_partition_access Resource - terraform-provider-ovh + title: dedicated_nasha_partition_access Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + dedicated_nasha_partition_snapshot Resource - terraform-provider-ovh: + subCategory: "" + name: dedicated_nasha_partition_snapshot Resource - terraform-provider-ovh + title: dedicated_nasha_partition_snapshot Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + dedicated_server.html Resource - terraform-provider-ovh: + subCategory: "" + name: dedicated_server.html Resource - terraform-provider-ovh + title: dedicated_server.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + dedicated_server_boots.html Resource - terraform-provider-ovh: + subCategory: "" + name: dedicated_server_boots.html Resource - terraform-provider-ovh + title: dedicated_server_boots.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + dedicated_server_install_task.html Resource - terraform-provider-ovh: + subCategory: "" + name: dedicated_server_install_task.html Resource - terraform-provider-ovh + title: dedicated_server_install_task.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + dedicated_server_reboot_task.html Resource - terraform-provider-ovh: + subCategory: "" + name: dedicated_server_reboot_task.html Resource - terraform-provider-ovh + title: dedicated_server_reboot_task.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + dedicated_server_specifications_hardware.html Resource - terraform-provider-ovh: + subCategory: "" + name: dedicated_server_specifications_hardware.html Resource - terraform-provider-ovh + title: dedicated_server_specifications_hardware.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + dedicated_server_specifications_network.html Resource - terraform-provider-ovh: + subCategory: "" + name: dedicated_server_specifications_network.html Resource - terraform-provider-ovh + title: dedicated_server_specifications_network.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + dedicated_server_update.html Resource - terraform-provider-ovh: + subCategory: "" + name: dedicated_server_update.html Resource - terraform-provider-ovh + title: dedicated_server_update.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + dedicated_servers.html Resource - terraform-provider-ovh: + subCategory: "" + name: dedicated_servers.html Resource - terraform-provider-ovh + title: dedicated_servers.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + domain_zone.html Resource - terraform-provider-ovh: + subCategory: "" + name: domain_zone.html Resource - terraform-provider-ovh + title: domain_zone.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + domain_zone_dnssec.html Resource - terraform-provider-ovh: + subCategory: "" + name: domain_zone_dnssec.html Resource - terraform-provider-ovh + title: domain_zone_dnssec.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + hosting_privatedatabase.html Resource - terraform-provider-ovh: + subCategory: "" + name: hosting_privatedatabase.html Resource - terraform-provider-ovh + title: hosting_privatedatabase.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + hosting_privatedatabase_database.html Resource - terraform-provider-ovh: + subCategory: "" + name: hosting_privatedatabase_database.html Resource - terraform-provider-ovh + title: hosting_privatedatabase_database.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + hosting_privatedatabase_user.html Resource - terraform-provider-ovh: + subCategory: "" + name: hosting_privatedatabase_user.html Resource - terraform-provider-ovh + title: hosting_privatedatabase_user.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + hosting_privatedatabase_user_grant.html Resource - terraform-provider-ovh: + subCategory: "" + name: hosting_privatedatabase_user_grant.html Resource - terraform-provider-ovh + title: hosting_privatedatabase_user_grant.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + hosting_privatedatabase_whitelist.html Resource - terraform-provider-ovh: + subCategory: "" + name: hosting_privatedatabase_whitelist.html Resource - terraform-provider-ovh + title: hosting_privatedatabase_whitelist.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + iam_permissions_group.html Resource - terraform-provider-ovh: + subCategory: "" + name: iam_permissions_group.html Resource - terraform-provider-ovh + title: iam_permissions_group.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + iam_permissions_groups Resource - terraform-provider-ovh: + subCategory: "" + name: iam_permissions_groups Resource - terraform-provider-ovh + title: iam_permissions_groups Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + iam_policies.html Resource - terraform-provider-ovh: + subCategory: "" + name: iam_policies.html Resource - terraform-provider-ovh + title: iam_policies.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + iam_policy.html Resource - terraform-provider-ovh: + subCategory: "" + name: iam_policy.html Resource - terraform-provider-ovh + title: iam_policy.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + iam_reference_actions.html Resource - terraform-provider-ovh: + subCategory: "" + name: iam_reference_actions.html Resource - terraform-provider-ovh + title: iam_reference_actions.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + iam_reference_resource_type Resource - terraform-provider-ovh: + subCategory: "" + name: iam_reference_resource_type Resource - terraform-provider-ovh + title: iam_reference_resource_type Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + iam_resource_group.html Resource - terraform-provider-ovh: + subCategory: "" + name: iam_resource_group.html Resource - terraform-provider-ovh + title: iam_resource_group.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + iam_resource_groups.html Resource - terraform-provider-ovh: + subCategory: "" + name: iam_resource_groups.html Resource - terraform-provider-ovh + title: iam_resource_groups.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + ip_firewall.html Resource - terraform-provider-ovh: + subCategory: "" + name: ip_firewall.html Resource - terraform-provider-ovh + title: ip_firewall.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + ip_firewall_rule.html Resource - terraform-provider-ovh: + subCategory: "" + name: ip_firewall_rule.html Resource - terraform-provider-ovh + title: ip_firewall_rule.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + ip_mitigation.html Resource - terraform-provider-ovh: + subCategory: "" + name: ip_mitigation.html Resource - terraform-provider-ovh + title: ip_mitigation.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + ip_move.html Resource - terraform-provider-ovh: + subCategory: "" + name: ip_move.html Resource - terraform-provider-ovh + title: ip_move.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + ip_reverse.html Resource - terraform-provider-ovh: + subCategory: "" + name: ip_reverse.html Resource - terraform-provider-ovh + title: ip_reverse.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + ip_service.html Resource - terraform-provider-ovh: + subCategory: "" + name: ip_service.html Resource - terraform-provider-ovh + title: ip_service.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + iploadbalancing.html Resource - terraform-provider-ovh: + subCategory: "" + name: iploadbalancing.html Resource - terraform-provider-ovh + title: iploadbalancing.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + iploadbalancing_http_farm.html Resource - terraform-provider-ovh: + subCategory: "" + name: iploadbalancing_http_farm.html Resource - terraform-provider-ovh + title: iploadbalancing_http_farm.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + iploadbalancing_http_farm_server.html Resource - terraform-provider-ovh: + subCategory: "" + name: iploadbalancing_http_farm_server.html Resource - terraform-provider-ovh + title: iploadbalancing_http_farm_server.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + iploadbalancing_http_frontend.html Resource - terraform-provider-ovh: + subCategory: "" + name: iploadbalancing_http_frontend.html Resource - terraform-provider-ovh + title: iploadbalancing_http_frontend.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + iploadbalancing_http_route.html Resource - terraform-provider-ovh: + subCategory: "" + name: iploadbalancing_http_route.html Resource - terraform-provider-ovh + title: iploadbalancing_http_route.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + iploadbalancing_http_route_rule.html Resource - terraform-provider-ovh: + subCategory: "" + name: iploadbalancing_http_route_rule.html Resource - terraform-provider-ovh + title: iploadbalancing_http_route_rule.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + iploadbalancing_refresh.html Resource - terraform-provider-ovh: + subCategory: "" + name: iploadbalancing_refresh.html Resource - terraform-provider-ovh + title: iploadbalancing_refresh.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + iploadbalancing_tcp_farm.html Resource - terraform-provider-ovh: + subCategory: "" + name: iploadbalancing_tcp_farm.html Resource - terraform-provider-ovh + title: iploadbalancing_tcp_farm.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + iploadbalancing_tcp_farm_server.html Resource - terraform-provider-ovh: + subCategory: "" + name: iploadbalancing_tcp_farm_server.html Resource - terraform-provider-ovh + title: iploadbalancing_tcp_farm_server.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + iploadbalancing_tcp_frontend.html Resource - terraform-provider-ovh: + subCategory: "" + name: iploadbalancing_tcp_frontend.html Resource - terraform-provider-ovh + title: iploadbalancing_tcp_frontend.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + iploadbalancing_tcp_route.html Resource - terraform-provider-ovh: + subCategory: "" + name: iploadbalancing_tcp_route.html Resource - terraform-provider-ovh + title: iploadbalancing_tcp_route.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + iploadbalancing_tcp_route_rule.html Resource - terraform-provider-ovh: + subCategory: "" + name: iploadbalancing_tcp_route_rule.html Resource - terraform-provider-ovh + title: iploadbalancing_tcp_route_rule.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + iploadbalancing_udp_frontend.html Resource - terraform-provider-ovh: + subCategory: "" + name: iploadbalancing_udp_frontend.html Resource - terraform-provider-ovh + title: iploadbalancing_udp_frontend.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + iploadbalancing_vrack_network.html Resource - terraform-provider-ovh: + subCategory: "" + name: iploadbalancing_vrack_network.html Resource - terraform-provider-ovh + title: iploadbalancing_vrack_network.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + iploadbalancing_vrack_networks.html Resource - terraform-provider-ovh: + subCategory: "" + name: iploadbalancing_vrack_networks.html Resource - terraform-provider-ovh + title: iploadbalancing_vrack_networks.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + me.html Resource - terraform-provider-ovh: + subCategory: "" + name: me.html Resource - terraform-provider-ovh + title: me.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + me_api_oauth2_client Resource - terraform-provider-ovh: + subCategory: "" + name: me_api_oauth2_client Resource - terraform-provider-ovh + title: me_api_oauth2_client Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + me_api_oauth2_client.html Resource - terraform-provider-ovh: + subCategory: "" + name: me_api_oauth2_client.html Resource - terraform-provider-ovh + title: me_api_oauth2_client.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + me_api_oauth2_clients Resource - terraform-provider-ovh: + subCategory: "" + name: me_api_oauth2_clients Resource - terraform-provider-ovh + title: me_api_oauth2_clients Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + me_identity_group Resource - terraform-provider-ovh: + subCategory: "" + name: me_identity_group Resource - terraform-provider-ovh + title: me_identity_group Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + me_identity_group.html Resource - terraform-provider-ovh: + subCategory: "" + name: me_identity_group.html Resource - terraform-provider-ovh + title: me_identity_group.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + me_identity_groups Resource - terraform-provider-ovh: + subCategory: "" + name: me_identity_groups Resource - terraform-provider-ovh + title: me_identity_groups Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + me_identity_user Resource - terraform-provider-ovh: + subCategory: "" + name: me_identity_user Resource - terraform-provider-ovh + title: me_identity_user Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + me_identity_user.html Resource - terraform-provider-ovh: + subCategory: "" + name: me_identity_user.html Resource - terraform-provider-ovh + title: me_identity_user.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + me_identity_users Resource - terraform-provider-ovh: + subCategory: "" + name: me_identity_users Resource - terraform-provider-ovh + title: me_identity_users Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + me_installation_template.html Resource - terraform-provider-ovh: + subCategory: "" + name: me_installation_template.html Resource - terraform-provider-ovh + title: me_installation_template.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + me_installation_template_partition_scheme.html Resource - terraform-provider-ovh: + subCategory: "" + name: me_installation_template_partition_scheme.html Resource - terraform-provider-ovh + title: me_installation_template_partition_scheme.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + me_installation_template_partition_scheme_hardware_raid.html Resource - terraform-provider-ovh: + subCategory: "" + name: me_installation_template_partition_scheme_hardware_raid.html Resource - terraform-provider-ovh + title: me_installation_template_partition_scheme_hardware_raid.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + me_installation_template_partition_scheme_partition.html Resource - terraform-provider-ovh: + subCategory: "" + name: me_installation_template_partition_scheme_partition.html Resource - terraform-provider-ovh + title: me_installation_template_partition_scheme_partition.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + me_installation_templates.html Resource - terraform-provider-ovh: + subCategory: "" + name: me_installation_templates.html Resource - terraform-provider-ovh + title: me_installation_templates.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + me_paymentmean_bankaccount Resource - terraform-provider-ovh: + subCategory: "" + name: me_paymentmean_bankaccount Resource - terraform-provider-ovh + title: me_paymentmean_bankaccount Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + me_paymentmean_creditcard Resource - terraform-provider-ovh: + subCategory: "" + name: me_paymentmean_creditcard Resource - terraform-provider-ovh + title: me_paymentmean_creditcard Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + order_cart.html Resource - terraform-provider-ovh: + subCategory: "" + name: order_cart.html Resource - terraform-provider-ovh + title: order_cart.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + order_cart_product.html Resource - terraform-provider-ovh: + subCategory: "" + name: order_cart_product.html Resource - terraform-provider-ovh + title: order_cart_product.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + order_cart_product_options.html Resource - terraform-provider-ovh: + subCategory: "" + name: order_cart_product_options.html Resource - terraform-provider-ovh + title: order_cart_product_options.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + order_cart_product_options_plan.html Resource - terraform-provider-ovh: + subCategory: "" + name: order_cart_product_options_plan.html Resource - terraform-provider-ovh + title: order_cart_product_options_plan.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + order_cart_product_plan.html Resource - terraform-provider-ovh: + subCategory: "" + name: order_cart_product_plan.html Resource - terraform-provider-ovh + title: order_cart_product_plan.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + ovh_domain_zone.html Resource - terraform-provider-ovh: + subCategory: "" + name: ovh_domain_zone.html Resource - terraform-provider-ovh + title: ovh_domain_zone.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + ovh_domain_zone_record.html Resource - terraform-provider-ovh: + subCategory: "" + name: ovh_domain_zone_record.html Resource - terraform-provider-ovh + title: ovh_domain_zone_record.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + ovh_domain_zone_redirection.html Resource - terraform-provider-ovh: + subCategory: "" + name: ovh_domain_zone_redirection.html Resource - terraform-provider-ovh + title: ovh_domain_zone_redirection.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + vps.html Resource - terraform-provider-ovh: + subCategory: "" + name: vps.html Resource - terraform-provider-ovh + title: vps.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + vpss.html Resource - terraform-provider-ovh: + subCategory: "" + name: vpss.html Resource - terraform-provider-ovh + title: vpss.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + vrack.html Resource - terraform-provider-ovh: + subCategory: "" + name: vrack.html Resource - terraform-provider-ovh + title: vrack.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + vrack_cloudproject Resource - terraform-provider-ovh: + subCategory: "" + name: vrack_cloudproject Resource - terraform-provider-ovh + title: vrack_cloudproject Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + vrack_dedicated_server.html Resource - terraform-provider-ovh: + subCategory: "" + name: vrack_dedicated_server.html Resource - terraform-provider-ovh + title: vrack_dedicated_server.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + vrack_dedicated_server_interface.html Resource - terraform-provider-ovh: + subCategory: "" + name: vrack_dedicated_server_interface.html Resource - terraform-provider-ovh + title: vrack_dedicated_server_interface.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + vrack_ip.html Resource - terraform-provider-ovh: + subCategory: "" + name: vrack_ip.html Resource - terraform-provider-ovh + title: vrack_ip.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + vrack_iploadbalancing.html Resource - terraform-provider-ovh: + subCategory: "" + name: vrack_iploadbalancing.html Resource - terraform-provider-ovh + title: vrack_iploadbalancing.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + vracks.html Resource - terraform-provider-ovh: + subCategory: "" + name: vracks.html Resource - terraform-provider-ovh + title: vracks.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] diff --git a/config/schema.json b/config/schema.json index 4558026..b6e096b 100644 --- a/config/schema.json +++ b/config/schema.json @@ -1 +1 @@ -{"format_version":"1.0","provider_schemas":{"registry.terraform.io/ovh/ovh":{"provider":{"version":0,"block":{"attributes":{"application_key":{"type":"string","description":"The OVH API Application Key.","description_kind":"plain","optional":true},"application_secret":{"type":"string","description":"The OVH API Application Secret.","description_kind":"plain","optional":true},"consumer_key":{"type":"string","description":"The OVH API Consumer key.","description_kind":"plain","optional":true},"endpoint":{"type":"string","description":"The OVH API endpoint to target (ex: \"ovh-eu\").","description_kind":"plain","optional":true}},"description_kind":"plain"}},"resource_schemas":{"ovh_cloud_project":{"version":0,"block":{"attributes":{"access":{"type":"string","description_kind":"plain","computed":true},"description":{"type":"string","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"order":{"type":["list",["object",{"date":"string","details":["list",["object",{"description":"string","domain":"string","order_detail_id":"number","quantity":"string"}]],"expiration_date":"string","order_id":"number"}]],"description":"Details about an Order","description_kind":"plain","computed":true},"ovh_subsidiary":{"type":"string","description":"Ovh Subsidiary","description_kind":"plain","required":true},"payment_mean":{"type":"string","description":"Ovh payment mode","description_kind":"plain","deprecated":true,"optional":true},"project_id":{"type":"string","description_kind":"plain","computed":true},"project_name":{"type":"string","description_kind":"plain","computed":true},"status":{"type":"string","description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true}},"block_types":{"plan":{"nesting_mode":"list","block":{"attributes":{"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"duration":{"type":"string","description":"duration","description_kind":"plain","required":true},"plan_code":{"type":"string","description":"Plan code","description_kind":"plain","required":true},"pricing_mode":{"type":"string","description":"Pricing model identifier","description_kind":"plain","required":true}},"block_types":{"configuration":{"nesting_mode":"list","block":{"attributes":{"label":{"type":"string","description":"Identifier of the resource","description_kind":"plain","required":true},"value":{"type":"string","description":"Path to the resource in API.OVH.COM","description_kind":"plain","required":true}},"description":"Representation of a configuration item for personalizing product","description_kind":"plain"}}},"description":"Product Plan to order","description_kind":"plain"},"min_items":1,"max_items":1},"plan_option":{"nesting_mode":"list","block":{"attributes":{"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"duration":{"type":"string","description":"duration","description_kind":"plain","required":true},"plan_code":{"type":"string","description":"Plan code","description_kind":"plain","required":true},"pricing_mode":{"type":"string","description":"Pricing model identifier","description_kind":"plain","required":true}},"block_types":{"configuration":{"nesting_mode":"list","block":{"attributes":{"label":{"type":"string","description":"Identifier of the resource","description_kind":"plain","required":true},"value":{"type":"string","description":"Path to the resource in API.OVH.COM","description_kind":"plain","required":true}},"description":"Representation of a configuration item for personalizing product","description_kind":"plain"}}},"description":"Product Plan to order","description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_alerting":{"version":0,"block":{"attributes":{"creation_date":{"type":"string","description":"Alerting creation date","description_kind":"markdown","computed":true},"delay":{"type":"number","description":"Possible values for delay between two alerts in seconds","description_kind":"markdown","required":true},"email":{"type":"string","description":"Email to contact","description_kind":"markdown","required":true},"formatted_monthly_threshold":{"nested_type":{"attributes":{"currency_code":{"type":"string","description_kind":"plain","computed":true},"text":{"type":"string","description_kind":"plain","computed":true},"value":{"type":"number","description_kind":"plain","computed":true}},"nesting_mode":"single"},"description":"Formatted monthly threshold for this alerting","description_kind":"markdown","computed":true},"id":{"type":"string","description":"Alerting unique UUID","description_kind":"markdown","computed":true},"monthly_threshold":{"type":"number","description":"Monthly threshold for this alerting in currency","description_kind":"markdown","required":true},"service_name":{"type":"string","description":"The project id","description_kind":"markdown","required":true}},"description_kind":"plain"}},"ovh_cloud_project_containerregistry":{"version":0,"block":{"attributes":{"created_at":{"type":"string","description":"Registry creation date","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Registry name","description_kind":"plain","required":true},"plan":{"type":["list",["object",{"code":"string","created_at":"string","features":["list",["object",{"vulnerability":"bool"}]],"id":"string","name":"string","registry_limits":["list",["object",{"image_storage":"number","parallel_request":"number"}]],"updated_at":"string"}]],"description":"Plan of the registry","description_kind":"plain","computed":true},"plan_id":{"type":"string","description":"Plan ID of the registry.","description_kind":"plain","optional":true,"computed":true},"project_id":{"type":"string","description":"Project ID of your registry","description_kind":"plain","computed":true},"region":{"type":"string","description":"Region of the registry.","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"size":{"type":"number","description":"Current size of the registry (bytes)","description_kind":"plain","computed":true},"status":{"type":"string","description":"Registry status","description_kind":"plain","computed":true},"updated_at":{"type":"string","description":"Registry last update date","description_kind":"plain","computed":true},"url":{"type":"string","description":"Access url of the registry","description_kind":"plain","computed":true},"version":{"type":"string","description":"Version of your registry","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_containerregistry_ip_restrictions_management":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_restrictions":{"type":["list",["map","string"]],"description":"List your IP restrictions applied on artifact manager component","description_kind":"plain","required":true},"registry_id":{"type":"string","description":"RegistryID","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_containerregistry_ip_restrictions_registry":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_restrictions":{"type":["list",["map","string"]],"description":"List your IP restrictions applied on artifact manager component","description_kind":"plain","required":true},"registry_id":{"type":"string","description":"RegistryID","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_containerregistry_oidc":{"version":0,"block":{"attributes":{"delete_users":{"type":"bool","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"oidc_admin_group":{"type":"string","description_kind":"plain","optional":true},"oidc_auto_onboard":{"type":"bool","description_kind":"plain","optional":true},"oidc_client_id":{"type":"string","description_kind":"plain","required":true},"oidc_client_secret":{"type":"string","description_kind":"plain","required":true,"sensitive":true},"oidc_endpoint":{"type":"string","description_kind":"plain","required":true},"oidc_groups_claim":{"type":"string","description_kind":"plain","optional":true},"oidc_name":{"type":"string","description_kind":"plain","required":true},"oidc_scope":{"type":"string","description_kind":"plain","required":true},"oidc_user_claim":{"type":"string","description_kind":"plain","optional":true},"oidc_verify_cert":{"type":"bool","description_kind":"plain","optional":true},"registry_id":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"default":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_containerregistry_user":{"version":0,"block":{"attributes":{"email":{"type":"string","description":"User email.","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"login":{"type":"string","description":"Registry name","description_kind":"plain","required":true},"password":{"type":"string","description":"User password","description_kind":"plain","computed":true,"sensitive":true},"registry_id":{"type":"string","description":"RegistryID","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true},"user":{"type":"string","description":"User name","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database":{"version":0,"block":{"attributes":{"advanced_configuration":{"type":["map","string"],"description":"Advanced configuration key / value","description_kind":"plain","optional":true,"computed":true},"backup_regions":{"type":["list","string"],"description":"List of region where backups are pushed. Not more than 1 regions for MongoDB. Not more than 2 regions for the other engines with one being the same as the nodes[].region field","description_kind":"plain","optional":true,"computed":true},"backup_time":{"type":"string","description":"Time on which backups start every day","description_kind":"plain","optional":true,"computed":true},"created_at":{"type":"string","description":"Date of the creation of the cluster","description_kind":"plain","computed":true},"description":{"type":"string","description":"Description of the cluster","description_kind":"plain","optional":true},"disk_size":{"type":"number","description":"Disk size attributes of the cluster","description_kind":"plain","optional":true,"computed":true},"disk_type":{"type":"string","description":"Disk type attributes of the cluster","description_kind":"plain","computed":true},"endpoints":{"type":["list",["object",{"component":"string","domain":"string","path":"string","port":"number","scheme":"string","ssl":"bool","ssl_mode":"string","uri":"string"}]],"description":"List of all endpoints of the service","description_kind":"plain","computed":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"flavor":{"type":"string","description":"The node flavor used for this cluster","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kafka_rest_api":{"type":"bool","description":"Defines whether the REST API is enabled on a Kafka cluster","description_kind":"plain","optional":true},"maintenance_time":{"type":"string","description":"Time on which maintenances can start every day","description_kind":"plain","computed":true},"network_type":{"type":"string","description":"Type of network of the cluster","description_kind":"plain","computed":true},"opensearch_acls_enabled":{"type":"bool","description":"Defines whether the ACLs are enabled on an Opensearch cluster","description_kind":"plain","optional":true},"plan":{"type":"string","description":"Plan of the cluster","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the cluster","description_kind":"plain","computed":true},"version":{"type":"string","description":"Version of the engine deployed on the cluster","description_kind":"plain","required":true}},"block_types":{"nodes":{"nesting_mode":"list","block":{"attributes":{"network_id":{"type":"string","description":"Private network ID in which the node is. It's the regional openstackId of the private network.","description_kind":"plain","optional":true},"region":{"type":"string","description":"Region of the node","description_kind":"plain","required":true},"subnet_id":{"type":"string","description":"Private subnet ID in which the node is","description_kind":"plain","optional":true}},"description":"List of nodes composing the service","description_kind":"plain"},"min_items":1},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_database":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"default":{"type":"bool","description":"Defines if the database has been created by default","description_kind":"plain","computed":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Database name","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_integration":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"destination_service_id":{"type":"string","description":"ID of the destination service","description_kind":"plain","required":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"parameters":{"type":["map","string"],"description":"Parameters for the integration","description_kind":"plain","optional":true},"service_name":{"type":"string","description_kind":"plain","required":true},"source_service_id":{"type":"string","description":"ID of the source service","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the integration","description_kind":"plain","computed":true},"type":{"type":"string","description":"Type of the integration","description_kind":"plain","optional":true,"computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_ip_restriction":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"description":{"type":"string","description":"Description of the IP restriction","description_kind":"plain","optional":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip":{"type":"string","description":"Authorized IP","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the IP restriction","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_kafka_acl":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"permission":{"type":"string","description":"Permission to give to this username on this topic","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"topic":{"type":"string","description":"Topic affected by this acl","description_kind":"plain","required":true},"username":{"type":"string","description":"Username affected by this acl","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_kafka_schemaregistryacl":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"permission":{"type":"string","description":"Permission to give to this username on this resource","description_kind":"plain","required":true},"resource":{"type":"string","description":"Resource affected by this acl","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"username":{"type":"string","description":"Username affected by this acl","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_kafka_topic":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"min_insync_replicas":{"type":"number","description":"Minimum insync replica accepted for this topic","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the topic","description_kind":"plain","required":true},"partitions":{"type":"number","description":"Number of partitions for this topic","description_kind":"plain","optional":true,"computed":true},"replication":{"type":"number","description":"Number of replication for this topic","description_kind":"plain","optional":true,"computed":true},"retention_bytes":{"type":"number","description":"Number of bytes for the retention of the data for this topic","description_kind":"plain","optional":true,"computed":true},"retention_hours":{"type":"number","description":"Number of hours for the retention of the data for this topic","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_m3db_namespace":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the namespace","description_kind":"plain","required":true},"resolution":{"type":"string","description":"Resolution for an aggregated namespace","description_kind":"plain","required":true},"retention_block_data_expiration_duration":{"type":"string","description":"Controls how long we wait before expiring stale data","description_kind":"plain","optional":true},"retention_block_size_duration":{"type":"string","description":"Controls how long to keep a block in memory before flushing to a fileset on disk","description_kind":"plain","optional":true,"computed":true},"retention_buffer_future_duration":{"type":"string","description":"Controls how far into the future writes to the namespace will be accepted","description_kind":"plain","optional":true},"retention_buffer_past_duration":{"type":"string","description":"Controls how far into the past writes to the namespace will be accepted","description_kind":"plain","optional":true},"retention_period_duration":{"type":"string","description":"Controls the duration of time that M3DB will retain data for the namespace","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"snapshot_enabled":{"type":"bool","description":"Defines whether M3db will create snapshot files for this namespace","description_kind":"plain","optional":true},"type":{"type":"string","description":"Type of namespace","description_kind":"plain","computed":true},"writes_to_commit_log_enabled":{"type":"bool","description":"Defines whether M3db will include writes to this namespace in the commit log","description_kind":"plain","optional":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_m3db_user":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"created_at":{"type":"string","description":"Date of the creation of the user","description_kind":"plain","computed":true},"group":{"type":"string","description":"Group of the user","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the user","description_kind":"plain","required":true},"password":{"type":"string","description":"Password of the user","description_kind":"plain","computed":true,"sensitive":true},"password_reset":{"type":"string","description":"Arbitrary string to change to trigger a password update","description_kind":"plain","optional":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the user","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_mongodb_user":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"created_at":{"type":"string","description":"Date of the creation of the user","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the user","description_kind":"plain","required":true},"password":{"type":"string","description":"Password of the user","description_kind":"plain","computed":true,"sensitive":true},"password_reset":{"type":"string","description":"Arbitrary string to change to trigger a password update","description_kind":"plain","optional":true},"roles":{"type":["set","string"],"description":"Roles the user belongs to with the authentication database","description_kind":"plain","optional":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the user","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_opensearch_pattern":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"max_index_count":{"type":"number","description":"Maximum number of index for this pattern","description_kind":"plain","optional":true},"pattern":{"type":"string","description":"Pattern format","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_opensearch_user":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"created_at":{"type":"string","description":"Date of the creation of the user","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the user","description_kind":"plain","required":true},"password":{"type":"string","description":"Password of the user","description_kind":"plain","computed":true,"sensitive":true},"password_reset":{"type":"string","description":"Arbitrary string to change to trigger a password update","description_kind":"plain","optional":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the user","description_kind":"plain","computed":true}},"block_types":{"acls":{"nesting_mode":"set","block":{"attributes":{"pattern":{"type":"string","description":"Pattern of the ACL","description_kind":"plain","required":true},"permission":{"type":"string","description":"Permission of the ACL","description_kind":"plain","required":true}},"description":"Acls of the user","description_kind":"plain"}},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_postgresql_connection_pool":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"database_id":{"type":"string","description":"Database used for the connection pool","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"mode":{"type":"string","description":"Connection mode to the connection pool","description_kind":"plain","required":true},"name":{"type":"string","description":"Name of the connection pool","description_kind":"plain","required":true},"port":{"type":"number","description":"Port of the connection pool","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"size":{"type":"number","description":"Size of the connection pool","description_kind":"plain","required":true},"ssl_mode":{"type":"string","description":"SSL connection mode for the pool","description_kind":"plain","computed":true},"uri":{"type":"string","description":"Connection URI to the pool","description_kind":"plain","computed":true},"user_id":{"type":"string","description":"Database user authorized to connect to the pool, if none all the users are allowed","description_kind":"plain","optional":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_postgresql_user":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"created_at":{"type":"string","description":"Date of the creation of the user","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the user","description_kind":"plain","required":true},"password":{"type":"string","description":"Password of the user","description_kind":"plain","computed":true,"sensitive":true},"password_reset":{"type":"string","description":"Arbitrary string to change to trigger a password update","description_kind":"plain","optional":true},"roles":{"type":["set","string"],"description":"Roles the user belongs to","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the user","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_redis_user":{"version":0,"block":{"attributes":{"categories":{"type":["set","string"],"description":"Categories of the user","description_kind":"plain","optional":true},"channels":{"type":["set","string"],"description":"Channels of the user","description_kind":"plain","optional":true,"computed":true},"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"commands":{"type":["set","string"],"description":"Commands of the user","description_kind":"plain","optional":true},"created_at":{"type":"string","description":"Date of the creation of the user","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"keys":{"type":["set","string"],"description":"Keys of the user","description_kind":"plain","optional":true},"name":{"type":"string","description":"Name of the user","description_kind":"plain","required":true},"password":{"type":"string","description":"Password of the user","description_kind":"plain","computed":true,"sensitive":true},"password_reset":{"type":"string","description":"Arbitrary string to change to trigger a password update","description_kind":"plain","optional":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the user","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_user":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"created_at":{"type":"string","description":"Date of the creation of the user","description_kind":"plain","computed":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the user","description_kind":"plain","required":true},"password":{"type":"string","description":"Password of the user","description_kind":"plain","computed":true,"sensitive":true},"password_reset":{"type":"string","description":"Arbitrary string to change to trigger a password update","description_kind":"plain","optional":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the user","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_failover_ip_attach":{"version":0,"block":{"attributes":{"block":{"type":"string","description":"IP block","description_kind":"plain","optional":true,"computed":true},"continent_code":{"type":"string","description":"Ip continent","description_kind":"plain","optional":true,"computed":true},"geo_loc":{"type":"string","description":"Ip location","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description":"Ip id","description_kind":"plain","computed":true},"ip":{"type":"string","description":"Ip","description_kind":"plain","optional":true,"computed":true},"progress":{"type":"number","description":"Current operation progress in percent","description_kind":"plain","computed":true},"routed_to":{"type":"string","description":"Instance where ip is routed to","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"The service name","description_kind":"plain","required":true},"status":{"type":"string","description":"Ip status","description_kind":"plain","computed":true},"sub_type":{"type":"string","description":"IP sub type","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_gateway":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"model":{"type":"string","description_kind":"plain","required":true},"name":{"type":"string","description_kind":"plain","required":true},"network_id":{"type":"string","description_kind":"plain","required":true},"region":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name of the resource representing the id of the cloud project.","description_kind":"plain","required":true},"status":{"type":"string","description_kind":"plain","computed":true},"subnet_id":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_kube":{"version":0,"block":{"attributes":{"control_plane_is_up_to_date":{"type":"bool","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"is_up_to_date":{"type":"bool","description_kind":"plain","computed":true},"kube_proxy_mode":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kubeconfig":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"kubeconfig_attributes":{"type":["list",["object",{"client_certificate":"string","client_key":"string","cluster_ca_certificate":"string","host":"string"}]],"description":"The kubeconfig configuration file of the Kubernetes cluster","description_kind":"plain","computed":true,"sensitive":true},"name":{"type":"string","description_kind":"plain","optional":true},"next_upgrade_versions":{"type":["set","string"],"description_kind":"plain","computed":true},"nodes_url":{"type":"string","description_kind":"plain","computed":true},"private_network_id":{"type":"string","description_kind":"plain","optional":true},"region":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description_kind":"plain","computed":true},"update_policy":{"type":"string","description_kind":"plain","optional":true,"computed":true},"url":{"type":"string","description_kind":"plain","computed":true},"version":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"block_types":{"customization":{"nesting_mode":"set","block":{"block_types":{"apiserver":{"nesting_mode":"set","block":{"block_types":{"admissionplugins":{"nesting_mode":"set","block":{"attributes":{"disabled":{"type":["list","string"],"description_kind":"plain","optional":true,"computed":true},"enabled":{"type":["list","string"],"description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}}},"description_kind":"plain","deprecated":true}}},"description_kind":"plain","deprecated":true}},"customization_apiserver":{"nesting_mode":"set","block":{"block_types":{"admissionplugins":{"nesting_mode":"set","block":{"attributes":{"disabled":{"type":["list","string"],"description_kind":"plain","optional":true,"computed":true},"enabled":{"type":["list","string"],"description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"customization_kube_proxy":{"nesting_mode":"set","block":{"block_types":{"iptables":{"nesting_mode":"set","block":{"attributes":{"min_sync_period":{"type":"string","description_kind":"plain","optional":true},"sync_period":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"ipvs":{"nesting_mode":"set","block":{"attributes":{"min_sync_period":{"type":"string","description_kind":"plain","optional":true},"scheduler":{"type":"string","description_kind":"plain","optional":true},"sync_period":{"type":"string","description_kind":"plain","optional":true},"tcp_fin_timeout":{"type":"string","description_kind":"plain","optional":true},"tcp_timeout":{"type":"string","description_kind":"plain","optional":true},"udp_timeout":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"},"max_items":1},"private_network_configuration":{"nesting_mode":"set","block":{"attributes":{"default_vrack_gateway":{"type":"string","description":"If defined, all egress traffic will be routed towards this IP address, which should belong to the private network. Empty string means disabled.","description_kind":"plain","required":true},"private_network_routing_as_default":{"type":"bool","description":"Defines whether routing should default to using the nodes' private interface, instead of their public interface. Default is false.","description_kind":"plain","required":true}},"description_kind":"plain"},"max_items":1},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"default":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_kube_iprestrictions":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ips":{"type":["set","string"],"description":"List of IP restrictions for the cluster","description_kind":"plain","required":true},"kube_id":{"type":"string","description":"Kube ID","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"default":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_kube_nodepool":{"version":0,"block":{"attributes":{"anti_affinity":{"type":"bool","description":"Enable anti affinity groups for nodes in the pool","description_kind":"plain","optional":true,"computed":true},"autoscale":{"type":"bool","description":"Enable auto-scaling for the pool","description_kind":"plain","optional":true,"computed":true},"autoscaling_scale_down_unneeded_time_seconds":{"type":"number","description":"scaleDownUnneededTimeSeconds for autoscaling","description_kind":"plain","optional":true,"computed":true},"autoscaling_scale_down_unready_time_seconds":{"type":"number","description":"scaleDownUnreadyTimeSeconds for autoscaling","description_kind":"plain","optional":true,"computed":true},"autoscaling_scale_down_utilization_threshold":{"type":"number","description":"scaleDownUtilizationThreshold for autoscaling","description_kind":"plain","optional":true,"computed":true},"available_nodes":{"type":"number","description":"Number of nodes which are actually ready in the pool","description_kind":"plain","computed":true},"created_at":{"type":"string","description":"Creation date","description_kind":"plain","computed":true},"current_nodes":{"type":"number","description":"Number of nodes present in the pool","description_kind":"plain","computed":true},"desired_nodes":{"type":"number","description":"Number of nodes you desire in the pool","description_kind":"plain","optional":true,"computed":true},"flavor":{"type":"string","description":"Flavor name","description_kind":"plain","computed":true},"flavor_name":{"type":"string","description":"Flavor name","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kube_id":{"type":"string","description":"Kube ID","description_kind":"plain","required":true},"max_nodes":{"type":"number","description":"Number of nodes you desire in the pool","description_kind":"plain","optional":true,"computed":true},"min_nodes":{"type":"number","description":"Number of nodes you desire in the pool","description_kind":"plain","optional":true,"computed":true},"monthly_billed":{"type":"bool","description":"Enable monthly billing on all nodes in the pool","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"NodePool resource name","description_kind":"plain","optional":true,"computed":true},"project_id":{"type":"string","description":"Project id","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true},"size_status":{"type":"string","description":"Status describing the state between number of nodes wanted and available ones","description_kind":"plain","computed":true},"status":{"type":"string","description":"Current status","description_kind":"plain","computed":true},"up_to_date_nodes":{"type":"number","description":"Number of nodes with latest version installed in the pool","description_kind":"plain","computed":true},"updated_at":{"type":"string","description":"Last update date","description_kind":"plain","computed":true}},"block_types":{"template":{"nesting_mode":"set","block":{"block_types":{"metadata":{"nesting_mode":"set","block":{"attributes":{"annotations":{"type":["map","string"],"description":"annotations","description_kind":"plain","required":true},"finalizers":{"type":["list","string"],"description":"finalizers","description_kind":"plain","required":true},"labels":{"type":["map","string"],"description":"labels","description_kind":"plain","required":true}},"description":"metadata","description_kind":"plain"},"min_items":1,"max_items":1},"spec":{"nesting_mode":"set","block":{"attributes":{"taints":{"type":["list",["map","string"]],"description":"taints","description_kind":"plain","required":true},"unschedulable":{"type":"bool","description":"unschedulable","description_kind":"plain","required":true}},"description":"spec","description_kind":"plain"},"min_items":1,"max_items":1}},"description":"Node pool template","description_kind":"plain"},"max_items":1},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"default":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_kube_oidc":{"version":0,"block":{"attributes":{"client_id":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"issuer_url":{"type":"string","description_kind":"plain","required":true},"kube_id":{"type":"string","description_kind":"plain","required":true},"oidc_ca_content":{"type":"string","description_kind":"plain","optional":true},"oidc_groups_claim":{"type":["list","string"],"description_kind":"plain","optional":true},"oidc_groups_prefix":{"type":"string","description_kind":"plain","optional":true},"oidc_required_claim":{"type":["list","string"],"description_kind":"plain","optional":true},"oidc_signing_algs":{"type":["list","string"],"description_kind":"plain","optional":true},"oidc_username_claim":{"type":"string","description_kind":"plain","optional":true},"oidc_username_prefix":{"type":"string","description_kind":"plain","optional":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"default":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_network_private":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true},"regions":{"type":["set","string"],"description_kind":"plain","optional":true,"computed":true},"regions_attributes":{"type":["set",["object",{"openstackid":"string","region":"string","status":"string"}]],"description_kind":"plain","computed":true},"regions_status":{"type":["set",["object",{"region":"string","status":"string"}]],"description_kind":"plain","deprecated":true,"computed":true},"service_name":{"type":"string","description":"Service name of the resource representing the id of the cloud project.","description_kind":"plain","required":true},"status":{"type":"string","description_kind":"plain","computed":true},"type":{"type":"string","description_kind":"plain","computed":true},"vlan_id":{"type":"number","description_kind":"plain","optional":true}},"description_kind":"plain"}},"ovh_cloud_project_network_private_subnet":{"version":0,"block":{"attributes":{"cidr":{"type":"string","description_kind":"plain","computed":true},"dhcp":{"type":"bool","description_kind":"plain","optional":true},"end":{"type":"string","description_kind":"plain","required":true},"gateway_ip":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_pools":{"type":["set",["object",{"dhcp":"bool","end":"string","network":"string","region":"string","start":"string"}]],"description_kind":"plain","computed":true},"network":{"type":"string","description_kind":"plain","required":true},"network_id":{"type":"string","description_kind":"plain","required":true},"no_gateway":{"type":"bool","description_kind":"plain","optional":true},"region":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name of the resource representing the id of the cloud project.","description_kind":"plain","required":true},"start":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_region_storage_presign":{"version":0,"block":{"attributes":{"expire":{"type":"number","description":"How long (in seconds) the URL will be valid.","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"method":{"type":"string","description_kind":"plain","required":true},"name":{"type":"string","description":"The S3 storage container's name.","description_kind":"plain","required":true},"object":{"type":"string","description":"Name of the object to download or upload.","description_kind":"plain","required":true},"region_name":{"type":"string","description":"Region name.","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name of the resource representing the ID of the cloud project.","description_kind":"plain","required":true},"url":{"type":"string","description":"Presigned URL.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_user":{"version":0,"block":{"attributes":{"creation_date":{"type":"string","description_kind":"plain","computed":true},"description":{"type":"string","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"openstack_rc":{"type":["map","string"],"description_kind":"plain","optional":true,"computed":true},"password":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"role_name":{"type":"string","description_kind":"plain","optional":true},"role_names":{"type":["list","string"],"description_kind":"plain","optional":true},"roles":{"type":["list",["object",{"description":"string","id":"string","name":"string","permissions":["set","string"]}]],"description_kind":"plain","computed":true},"service_name":{"type":"string","description":"Service name of the resource representing the id of the cloud project.","description_kind":"plain","required":true},"status":{"type":"string","description_kind":"plain","computed":true},"username":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_user_s3_credential":{"version":0,"block":{"attributes":{"access_key_id":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"internal_user_id":{"type":"string","description_kind":"plain","computed":true},"secret_access_key":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"service_name":{"type":"string","description":"Service name of the resource representing the ID of the cloud project.","description_kind":"plain","required":true},"user_id":{"type":"string","description":"The user ID","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_user_s3_policy":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"policy":{"type":"string","description":"The policy document. This is a JSON formatted string.","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name of the resource representing the ID of the cloud project.","description_kind":"plain","required":true},"user_id":{"type":"string","description":"The user ID","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_workflow_backup":{"version":0,"block":{"attributes":{"backup_name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"created_at":{"type":"string","description_kind":"plain","computed":true},"cron":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","computed":true},"instance_id":{"type":"string","description_kind":"plain","required":true},"max_execution_count":{"type":"number","description_kind":"plain","optional":true},"name":{"type":"string","description_kind":"plain","required":true},"region_name":{"type":"string","description":"Region name.","description_kind":"plain","required":true},"rotation":{"type":"number","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_dbaas_logs_cluster":{"version":0,"block":{"attributes":{"archive_allowed_networks":{"type":["set","string"],"description":"Allowed networks for ARCHIVE flow type","description_kind":"plain","optional":true},"cluster_id":{"type":"string","description_kind":"plain","optional":true},"cluster_type":{"type":"string","description":"Cluster type","description_kind":"plain","computed":true},"dedicated_input_pem":{"type":"string","description":"PEM for dedicated inputs","description_kind":"plain","computed":true,"sensitive":true},"direct_input_allowed_networks":{"type":["set","string"],"description":"Allowed networks for DIRECT_INPUT flow type","description_kind":"plain","optional":true},"direct_input_pem":{"type":"string","description":"PEM for direct inputs","description_kind":"plain","computed":true,"sensitive":true},"hostname":{"type":"string","description":"hostname","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"initial_archive_allowed_networks":{"type":["set","string"],"description":"Initial allowed networks for ARCHIVE flow type","description_kind":"plain","computed":true,"sensitive":true},"initial_direct_input_allowed_networks":{"type":["set","string"],"description":"Initial allowed networks for DIRECT_INPUT flow type","description_kind":"plain","computed":true,"sensitive":true},"initial_query_allowed_networks":{"type":["set","string"],"description":"Initial allowed networks for QUERY flow type","description_kind":"plain","computed":true,"sensitive":true},"is_default":{"type":"bool","description":"All content generated by given service will be placed on this cluster","description_kind":"plain","computed":true},"is_unlocked":{"type":"bool","description":"Allow given service to perform advanced operations on cluster","description_kind":"plain","computed":true},"query_allowed_networks":{"type":["set","string"],"description":"Allowed networks for QUERY flow type","description_kind":"plain","optional":true},"region":{"type":"string","description":"Data center localization","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_dbaas_logs_input":{"version":0,"block":{"attributes":{"allowed_networks":{"type":["list","string"],"description":"IP blocks","description_kind":"plain","optional":true,"computed":true},"created_at":{"type":"string","description":"Input creation","description_kind":"plain","computed":true},"description":{"type":"string","description":"Input description","description_kind":"plain","required":true},"engine_id":{"type":"string","description":"Input engine ID","description_kind":"plain","required":true},"exposed_port":{"type":"string","description":"Port","description_kind":"plain","optional":true,"computed":true},"hostname":{"type":"string","description":"Hostname","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"input_id":{"type":"string","description":"Input ID","description_kind":"plain","computed":true},"is_restart_required":{"type":"bool","description":"Indicate if input need to be restarted","description_kind":"plain","computed":true},"nb_instance":{"type":"number","description":"Number of instance running","description_kind":"plain","optional":true,"computed":true},"public_address":{"type":"string","description":"Input IP address","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"ssl_certificate":{"type":"string","description":"Input SSL certificate","description_kind":"plain","computed":true,"sensitive":true},"status":{"type":"string","description":"init: configuration required, pending: ready to start, running: available","description_kind":"plain","computed":true},"stream_id":{"type":"string","description":"Associated Graylog stream","description_kind":"plain","required":true},"title":{"type":"string","description":"Input title","description_kind":"plain","required":true},"updated_at":{"type":"string","description":"Input last update","description_kind":"plain","computed":true}},"block_types":{"configuration":{"nesting_mode":"list","block":{"block_types":{"flowgger":{"nesting_mode":"list","block":{"attributes":{"log_format":{"type":"string","description":"Type of format to decode","description_kind":"plain","required":true},"log_framing":{"type":"string","description":"Indicates how messages are delimited","description_kind":"plain","required":true}},"description":"Flowgger configuration","description_kind":"plain"},"max_items":1},"logstash":{"nesting_mode":"list","block":{"attributes":{"filter_section":{"type":"string","description":"The filter section of logstash.conf","description_kind":"plain","optional":true},"input_section":{"type":"string","description":"The filter section of logstash.conf","description_kind":"plain","required":true},"pattern_section":{"type":"string","description":"The list of customs Grok patterns","description_kind":"plain","optional":true}},"description":"Logstash configuration","description_kind":"plain"},"max_items":1}},"description":"Input configuration","description_kind":"plain"},"min_items":1,"max_items":1}},"description_kind":"plain"}},"ovh_dbaas_logs_output_graylog_stream":{"version":0,"block":{"attributes":{"can_alert":{"type":"bool","description":"Indicates if the current user can create alert on the stream","description_kind":"plain","computed":true},"cold_storage_compression":{"type":"string","description":"Cold storage compression method","description_kind":"plain","optional":true,"computed":true},"cold_storage_content":{"type":"string","description":"ColdStorage content","description_kind":"plain","optional":true,"computed":true},"cold_storage_enabled":{"type":"bool","description":"Is Cold storage enabled?","description_kind":"plain","optional":true,"computed":true},"cold_storage_notify_enabled":{"type":"bool","description":"Notify on new Cold storage archive","description_kind":"plain","optional":true,"computed":true},"cold_storage_retention":{"type":"number","description":"Cold storage retention in year","description_kind":"plain","optional":true,"computed":true},"cold_storage_target":{"type":"string","description":"ColdStorage destination","description_kind":"plain","optional":true,"computed":true},"created_at":{"type":"string","description":"Stream creation","description_kind":"plain","computed":true},"description":{"type":"string","description":"Stream description","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"indexing_enabled":{"type":"bool","description":"Enable ES indexing","description_kind":"plain","optional":true,"computed":true},"indexing_max_size":{"type":"number","description":"Maximum indexing size (in GB)","description_kind":"plain","optional":true,"computed":true},"indexing_notify_enabled":{"type":"bool","description":"If set, notify when size is near 80, 90 or 100 % of the maximum configured setting","description_kind":"plain","optional":true,"computed":true},"is_editable":{"type":"bool","description":"Indicates if you are allowed to edit entry","description_kind":"plain","computed":true},"is_shareable":{"type":"bool","description":"Indicates if you are allowed to share entry","description_kind":"plain","computed":true},"nb_alert_condition":{"type":"number","description":"Number of alert condition","description_kind":"plain","computed":true},"nb_archive":{"type":"number","description":"Number of coldstored archives","description_kind":"plain","computed":true},"parent_stream_id":{"type":"string","description":"Parent stream ID","description_kind":"plain","optional":true},"pause_indexing_on_max_size":{"type":"bool","description":"If set, pause indexing when maximum size is reach","description_kind":"plain","optional":true,"computed":true},"retention_id":{"type":"string","description":"Retention ID","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"The service name","description_kind":"plain","required":true},"stream_id":{"type":"string","description":"Stream ID","description_kind":"plain","computed":true},"title":{"type":"string","description":"Stream description","description_kind":"plain","required":true},"updated_at":{"type":"string","description":"Stream last update","description_kind":"plain","computed":true},"web_socket_enabled":{"type":"bool","description":"Enable Websocket","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"ovh_dedicated_ceph_acl":{"version":0,"block":{"attributes":{"family":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"netmask":{"type":"string","description_kind":"plain","required":true},"network":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_dedicated_nasha_partition":{"version":0,"block":{"attributes":{"capacity":{"type":"number","description_kind":"plain","computed":true},"description":{"type":"string","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true},"protocol":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"size":{"type":"number","description_kind":"plain","required":true},"used_by_snapshots":{"type":"number","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_dedicated_nasha_partition_access":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip":{"type":"string","description_kind":"plain","required":true},"partition_name":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"type":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}},"ovh_dedicated_nasha_partition_snapshot":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"partition_name":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"type":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_dedicated_server_install_task":{"version":0,"block":{"attributes":{"bootid_on_destroy":{"type":"number","description":"If set, reboot the server on the specified boot id during destroy phase","description_kind":"plain","optional":true},"comment":{"type":"string","description":"Details of this task","description_kind":"plain","computed":true},"done_date":{"type":"string","description":"Completion date","description_kind":"plain","computed":true},"function":{"type":"string","description":"Function name","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"last_update":{"type":"string","description":"Last update","description_kind":"plain","computed":true},"partition_scheme_name":{"type":"string","description":"Partition scheme name.","description_kind":"plain","optional":true},"service_name":{"type":"string","description":"The internal name of your dedicated server.","description_kind":"plain","required":true},"start_date":{"type":"string","description":"Task Creation date","description_kind":"plain","computed":true},"status":{"type":"string","description":"Task status","description_kind":"plain","computed":true},"template_name":{"type":"string","description":"Template name","description_kind":"plain","required":true}},"block_types":{"details":{"nesting_mode":"list","block":{"attributes":{"change_log":{"type":"string","description":"Template change log details","description_kind":"plain","deprecated":true,"optional":true},"custom_hostname":{"type":"string","description":"Set up the server using the provided hostname instead of the default hostname","description_kind":"plain","optional":true},"disk_group_id":{"type":"number","description_kind":"plain","optional":true},"install_rtm":{"type":"bool","description_kind":"plain","optional":true},"install_sql_server":{"type":"bool","description_kind":"plain","optional":true},"language":{"type":"string","description":"language","description_kind":"plain","optional":true},"no_raid":{"type":"bool","description_kind":"plain","optional":true},"post_installation_script_link":{"type":"string","description":"Indicate the URL where your postinstall customisation script is located","description_kind":"plain","optional":true},"post_installation_script_return":{"type":"string","description":"indicate the string returned by your postinstall customisation script on successful execution. Advice: your script should return a unique validation string in case of succes. A good example is 'loh1Xee7eo OK OK OK UGh8Ang1Gu'","description_kind":"plain","optional":true},"reset_hw_raid":{"type":"bool","description_kind":"plain","optional":true},"soft_raid_devices":{"type":"number","description_kind":"plain","optional":true},"ssh_key_name":{"type":"string","description":"Name of the ssh key that should be installed. Password login will be disabled","description_kind":"plain","optional":true},"use_distrib_kernel":{"type":"bool","description":"Use the distribution's native kernel instead of the recommended OVH Kernel","description_kind":"plain","optional":true},"use_spla":{"type":"bool","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_dedicated_server_networking":{"version":0,"block":{"attributes":{"description":{"type":"string","description":"Operation description","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"The internal name of your dedicated server.","description_kind":"plain","required":true},"status":{"type":"string","description":"Operation status","description_kind":"plain","computed":true}},"block_types":{"interfaces":{"nesting_mode":"set","block":{"attributes":{"macs":{"type":["set","string"],"description":"Interface Mac address","description_kind":"plain","required":true},"type":{"type":"string","description":"Interface type","description_kind":"plain","required":true}},"description":"Interface or interfaces aggregation.","description_kind":"plain"},"min_items":1,"max_items":2},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_dedicated_server_reboot_task":{"version":0,"block":{"attributes":{"comment":{"type":"string","description":"Details of this task","description_kind":"plain","computed":true},"done_date":{"type":"string","description":"Completion date","description_kind":"plain","computed":true},"function":{"type":"string","description":"Function name","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"keepers":{"type":["list","string"],"description":"Change this value to recreate a reboot task.","description_kind":"plain","required":true},"last_update":{"type":"string","description":"Last update","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"The internal name of your dedicated server.","description_kind":"plain","required":true},"start_date":{"type":"string","description":"Task Creation date","description_kind":"plain","computed":true},"status":{"type":"string","description":"Task status","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_dedicated_server_update":{"version":0,"block":{"attributes":{"boot_id":{"type":"number","description":"The boot id of your dedicated server.","description_kind":"plain","optional":true,"computed":true},"boot_script":{"type":"string","description":"The boot script of your dedicated server.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"monitoring":{"type":"bool","description":"Icmp monitoring state","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"The internal name of your dedicated server.","description_kind":"plain","required":true},"state":{"type":"string","description":"error, hacked, hackedBlocked, ok","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"ovh_domain_zone":{"version":0,"block":{"attributes":{"dnssec_supported":{"type":"bool","description":"Is DNSSEC supported by this zone","description_kind":"plain","computed":true},"has_dns_anycast":{"type":"bool","description":"hasDnsAnycast flag of the DNS zone","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"last_update":{"type":"string","description":"Last update date of the DNS zone","description_kind":"plain","computed":true},"name":{"type":"string","description":"Zone name","description_kind":"plain","computed":true},"name_servers":{"type":["list","string"],"description":"Name servers that host the DNS zone","description_kind":"plain","computed":true},"order":{"type":["list",["object",{"date":"string","details":["list",["object",{"description":"string","domain":"string","order_detail_id":"number","quantity":"string"}]],"expiration_date":"string","order_id":"number"}]],"description":"Details about an Order","description_kind":"plain","computed":true},"ovh_subsidiary":{"type":"string","description":"Ovh Subsidiary","description_kind":"plain","required":true},"payment_mean":{"type":"string","description":"Ovh payment mode","description_kind":"plain","deprecated":true,"optional":true},"urn":{"type":"string","description_kind":"plain","computed":true}},"block_types":{"plan":{"nesting_mode":"list","block":{"attributes":{"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"duration":{"type":"string","description":"duration","description_kind":"plain","required":true},"plan_code":{"type":"string","description":"Plan code","description_kind":"plain","required":true},"pricing_mode":{"type":"string","description":"Pricing model identifier","description_kind":"plain","required":true}},"block_types":{"configuration":{"nesting_mode":"list","block":{"attributes":{"label":{"type":"string","description":"Identifier of the resource","description_kind":"plain","required":true},"value":{"type":"string","description":"Path to the resource in API.OVH.COM","description_kind":"plain","required":true}},"description":"Representation of a configuration item for personalizing product","description_kind":"plain"}}},"description":"Product Plan to order","description_kind":"plain"},"min_items":1,"max_items":1},"plan_option":{"nesting_mode":"list","block":{"attributes":{"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"duration":{"type":"string","description":"duration","description_kind":"plain","required":true},"plan_code":{"type":"string","description":"Plan code","description_kind":"plain","required":true},"pricing_mode":{"type":"string","description":"Pricing model identifier","description_kind":"plain","required":true}},"block_types":{"configuration":{"nesting_mode":"list","block":{"attributes":{"label":{"type":"string","description":"Identifier of the resource","description_kind":"plain","required":true},"value":{"type":"string","description":"Path to the resource in API.OVH.COM","description_kind":"plain","required":true}},"description":"Representation of a configuration item for personalizing product","description_kind":"plain"}}},"description":"Product Plan to order","description_kind":"plain"}}},"description_kind":"plain"}},"ovh_domain_zone_record":{"version":0,"block":{"attributes":{"fieldtype":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"subdomain":{"type":"string","description_kind":"plain","optional":true},"target":{"type":"string","description_kind":"plain","required":true},"ttl":{"type":"number","description_kind":"plain","optional":true},"zone":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_domain_zone_redirection":{"version":0,"block":{"attributes":{"description":{"type":"string","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"keywords":{"type":"string","description_kind":"plain","optional":true},"subdomain":{"type":"string","description_kind":"plain","optional":true},"target":{"type":"string","description_kind":"plain","required":true},"title":{"type":"string","description_kind":"plain","optional":true},"type":{"type":"string","description_kind":"plain","required":true},"zone":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_hosting_privatedatabase":{"version":0,"block":{"attributes":{"cpu":{"type":"number","description":"Number of CPU on your private database","description_kind":"plain","computed":true},"datacenter":{"type":"string","description":"Datacenter where this private database is located","description_kind":"plain","computed":true},"display_name":{"type":"string","description":"Name displayed in customer panel for your private database","description_kind":"plain","optional":true,"computed":true},"hostname":{"type":"string","description":"Private database hostname","description_kind":"plain","computed":true},"hostname_ftp":{"type":"string","description":"Private database FTP hostname","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"infrastructure":{"type":"string","description":"Infrastructure where service was stored","description_kind":"plain","computed":true},"offer":{"type":"string","description":"Type of the private database offer","description_kind":"plain","computed":true},"order":{"type":["list",["object",{"date":"string","details":["list",["object",{"description":"string","domain":"string","order_detail_id":"number","quantity":"string"}]],"expiration_date":"string","order_id":"number"}]],"description":"Details about an Order","description_kind":"plain","computed":true},"ovh_subsidiary":{"type":"string","description":"Ovh Subsidiary","description_kind":"plain","required":true},"payment_mean":{"type":"string","description":"Ovh payment mode","description_kind":"plain","deprecated":true,"optional":true},"port":{"type":"number","description":"Private database service port","description_kind":"plain","computed":true},"port_ftp":{"type":"number","description":"Private database FTP port","description_kind":"plain","computed":true},"quota_size":{"type":"number","description":"Space allowed (in MB) on your private database","description_kind":"plain","computed":true},"quota_used":{"type":"number","description":"Sapce used (in MB) on your private database","description_kind":"plain","computed":true},"ram":{"type":"number","description":"Amount of ram (in MB) on your private database","description_kind":"plain","computed":true},"server":{"type":"string","description":"Private database server name","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"state":{"type":"string","description":"Private database state","description_kind":"plain","computed":true},"type":{"type":"string","description":"Private database type","description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true},"version":{"type":"string","description":"Private database available versions","description_kind":"plain","computed":true},"version_label":{"type":"string","description":"Private database version label","description_kind":"plain","computed":true},"version_number":{"type":"number","description":"Private database version number","description_kind":"plain","computed":true}},"block_types":{"plan":{"nesting_mode":"list","block":{"attributes":{"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"duration":{"type":"string","description":"duration","description_kind":"plain","required":true},"plan_code":{"type":"string","description":"Plan code","description_kind":"plain","required":true},"pricing_mode":{"type":"string","description":"Pricing model identifier","description_kind":"plain","required":true}},"block_types":{"configuration":{"nesting_mode":"list","block":{"attributes":{"label":{"type":"string","description":"Identifier of the resource","description_kind":"plain","required":true},"value":{"type":"string","description":"Path to the resource in API.OVH.COM","description_kind":"plain","required":true}},"description":"Representation of a configuration item for personalizing product","description_kind":"plain"}}},"description":"Product Plan to order","description_kind":"plain"},"min_items":1,"max_items":1},"plan_option":{"nesting_mode":"list","block":{"attributes":{"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"duration":{"type":"string","description":"duration","description_kind":"plain","required":true},"plan_code":{"type":"string","description":"Plan code","description_kind":"plain","required":true},"pricing_mode":{"type":"string","description":"Pricing model identifier","description_kind":"plain","required":true}},"block_types":{"configuration":{"nesting_mode":"list","block":{"attributes":{"label":{"type":"string","description":"Identifier of the resource","description_kind":"plain","required":true},"value":{"type":"string","description":"Path to the resource in API.OVH.COM","description_kind":"plain","required":true}},"description":"Representation of a configuration item for personalizing product","description_kind":"plain"}}},"description":"Product Plan to order","description_kind":"plain"}}},"description_kind":"plain"}},"ovh_hosting_privatedatabase_database":{"version":0,"block":{"attributes":{"database_name":{"type":"string","description":"Name of your new database","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"The internal name of your private database","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_hosting_privatedatabase_user":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"password":{"type":"string","description":"Password for the new user ( alphanumeric and 8 characters minimum )","description_kind":"plain","required":true,"sensitive":true},"service_name":{"type":"string","description":"The internal name of your private database","description_kind":"plain","required":true},"user_name":{"type":"string","description":"User name used to connect on your databases","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_hosting_privatedatabase_user_grant":{"version":0,"block":{"attributes":{"database_name":{"type":"string","description":"Database name where add grant","description_kind":"plain","required":true},"grant":{"type":"string","description":"Database name where add grant","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"The internal name of your private database","description_kind":"plain","required":true},"user_name":{"type":"string","description":"User name used to connect on your databases","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_hosting_privatedatabase_whitelist":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip":{"type":"string","description":"The whitelisted IP in your instance","description_kind":"plain","required":true},"name":{"type":"string","description":"Custom name for your Whitelisted IP","description_kind":"plain","required":true},"service":{"type":"bool","description":"Authorize this IP to access service port","description_kind":"plain","required":true},"service_name":{"type":"string","description":"The internal name of your private database","description_kind":"plain","required":true},"sftp":{"type":"bool","description":"Authorize this IP to access SFTP port","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_iam_permissions_group":{"version":0,"block":{"attributes":{"allow":{"type":["set","string"],"description_kind":"plain","optional":true},"created_at":{"type":"string","description_kind":"plain","computed":true},"deny":{"type":["set","string"],"description_kind":"plain","optional":true},"description":{"type":"string","description_kind":"plain","required":true},"except":{"type":["set","string"],"description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true},"owner":{"type":"string","description_kind":"plain","computed":true},"updated_at":{"type":"string","description_kind":"plain","optional":true,"computed":true},"urn":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_iam_policy":{"version":0,"block":{"attributes":{"allow":{"type":["set","string"],"description_kind":"plain","optional":true},"created_at":{"type":"string","description_kind":"plain","computed":true},"deny":{"type":["set","string"],"description_kind":"plain","optional":true},"description":{"type":"string","description_kind":"plain","optional":true},"except":{"type":["set","string"],"description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"identities":{"type":["set","string"],"description_kind":"plain","required":true},"name":{"type":"string","description_kind":"plain","required":true},"owner":{"type":"string","description_kind":"plain","computed":true},"permissions_groups":{"type":["set","string"],"description_kind":"plain","optional":true},"read_only":{"type":"bool","description_kind":"plain","computed":true},"resources":{"type":["set","string"],"description_kind":"plain","required":true},"updated_at":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_iam_resource_group":{"version":0,"block":{"attributes":{"created_at":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true},"owner":{"type":"string","description_kind":"plain","computed":true},"read_only":{"type":"bool","description_kind":"plain","computed":true},"resources":{"type":["set","string"],"description_kind":"plain","optional":true},"updated_at":{"type":"string","description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_ip_move":{"version":0,"block":{"attributes":{"can_be_terminated":{"type":"bool","description_kind":"plain","computed":true},"country":{"type":"string","description_kind":"plain","computed":true},"description":{"type":"string","description":"Custom description on your ip","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip":{"type":"string","description_kind":"plain","required":true},"organisation_id":{"type":"string","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","computed":true},"task_start_date":{"type":"string","description":"Starting date and time field of the current IP task that is in charge of changing the service the IP is attached to","description_kind":"plain","computed":true},"task_status":{"type":"string","description":"Status field of the current IP task that is in charge of changing the service the IP is attached to","description_kind":"plain","computed":true},"type":{"type":"string","description":"Possible values for ip type","description_kind":"plain","computed":true}},"block_types":{"routed_to":{"nesting_mode":"list","block":{"attributes":{"service_name":{"type":"string","description":"Service where ip is routed to","description_kind":"plain","required":true}},"description":"Routage information","description_kind":"plain"},"min_items":1,"max_items":1}},"description_kind":"plain"}},"ovh_ip_reverse":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip":{"type":"string","description_kind":"plain","required":true},"ip_reverse":{"type":"string","description_kind":"plain","required":true},"reverse":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_ip_service":{"version":0,"block":{"attributes":{"can_be_terminated":{"type":"bool","description_kind":"plain","computed":true},"country":{"type":"string","description_kind":"plain","computed":true},"description":{"type":"string","description":"Custom description on your ip","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip":{"type":"string","description_kind":"plain","computed":true},"order":{"type":["list",["object",{"date":"string","details":["list",["object",{"description":"string","domain":"string","order_detail_id":"number","quantity":"string"}]],"expiration_date":"string","order_id":"number"}]],"description":"Details about an Order","description_kind":"plain","computed":true},"organisation_id":{"type":"string","description_kind":"plain","computed":true},"ovh_subsidiary":{"type":"string","description":"Ovh Subsidiary","description_kind":"plain","required":true},"payment_mean":{"type":"string","description":"Ovh payment mode","description_kind":"plain","deprecated":true,"optional":true},"routed_to":{"type":["list",["object",{"service_name":"string"}]],"description":"Routage information","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","computed":true},"type":{"type":"string","description":"Possible values for ip type","description_kind":"plain","computed":true}},"block_types":{"plan":{"nesting_mode":"list","block":{"attributes":{"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"duration":{"type":"string","description":"duration","description_kind":"plain","required":true},"plan_code":{"type":"string","description":"Plan code","description_kind":"plain","required":true},"pricing_mode":{"type":"string","description":"Pricing model identifier","description_kind":"plain","required":true}},"block_types":{"configuration":{"nesting_mode":"list","block":{"attributes":{"label":{"type":"string","description":"Identifier of the resource","description_kind":"plain","required":true},"value":{"type":"string","description":"Path to the resource in API.OVH.COM","description_kind":"plain","required":true}},"description":"Representation of a configuration item for personalizing product","description_kind":"plain"}}},"description":"Product Plan to order","description_kind":"plain"},"min_items":1,"max_items":1},"plan_option":{"nesting_mode":"list","block":{"attributes":{"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"duration":{"type":"string","description":"duration","description_kind":"plain","required":true},"plan_code":{"type":"string","description":"Plan code","description_kind":"plain","required":true},"pricing_mode":{"type":"string","description":"Pricing model identifier","description_kind":"plain","required":true}},"block_types":{"configuration":{"nesting_mode":"list","block":{"attributes":{"label":{"type":"string","description":"Identifier of the resource","description_kind":"plain","required":true},"value":{"type":"string","description":"Path to the resource in API.OVH.COM","description_kind":"plain","required":true}},"description":"Representation of a configuration item for personalizing product","description_kind":"plain"}}},"description":"Product Plan to order","description_kind":"plain"}}},"description_kind":"plain"}},"ovh_iploadbalancing":{"version":0,"block":{"attributes":{"display_name":{"type":"string","description":"Set the name displayed in ManagerV6 for your iplb (max 50 chars)","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_loadbalancing":{"type":"string","description":"Your IP load balancing","description_kind":"plain","computed":true},"ipv4":{"type":"string","description":"The IPV4 associated to your IP load balancing","description_kind":"plain","computed":true},"ipv6":{"type":"string","description":"The IPV6 associated to your IP load balancing. DEPRECATED.","description_kind":"plain","computed":true},"metrics_token":{"type":"string","description":"The metrics token associated with your IP load balancing","description_kind":"plain","computed":true,"sensitive":true},"offer":{"type":"string","description":"The offer of your IP load balancing","description_kind":"plain","computed":true},"order":{"type":["list",["object",{"date":"string","details":["list",["object",{"description":"string","domain":"string","order_detail_id":"number","quantity":"string"}]],"expiration_date":"string","order_id":"number"}]],"description":"Details about an Order","description_kind":"plain","computed":true},"orderable_zone":{"type":["set",["object",{"name":"string","plan_code":"string"}]],"description":"Available additional zone for your Load Balancer","description_kind":"plain","computed":true},"ovh_subsidiary":{"type":"string","description":"Ovh Subsidiary","description_kind":"plain","required":true},"payment_mean":{"type":"string","description":"Ovh payment mode","description_kind":"plain","deprecated":true,"optional":true},"service_name":{"type":"string","description":"The internal name of your IP load balancing","description_kind":"plain","computed":true},"ssl_configuration":{"type":"string","description":"Modern oldest compatible clients : Firefox 27, Chrome 30, IE 11 on Windows 7, Edge, Opera 17, Safari 9, Android 5.0, and Java 8. Intermediate oldest compatible clients : Firefox 1, Chrome 1, IE 7, Opera 5, Safari 1, Windows XP IE8, Android 2.3, Java 7. Intermediate if null.","description_kind":"plain","optional":true,"computed":true},"state":{"type":"string","description":"Current state of your IP","description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true},"vrack_eligibility":{"type":"bool","description":"Vrack eligibility","description_kind":"plain","computed":true},"vrack_name":{"type":"string","description":"Name of the vRack on which the current Load Balancer is attached to, as it is named on vRack product","description_kind":"plain","computed":true},"zone":{"type":["list","string"],"description":"Location where your service is","description_kind":"plain","computed":true}},"block_types":{"plan":{"nesting_mode":"list","block":{"attributes":{"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"duration":{"type":"string","description":"duration","description_kind":"plain","required":true},"plan_code":{"type":"string","description":"Plan code","description_kind":"plain","required":true},"pricing_mode":{"type":"string","description":"Pricing model identifier","description_kind":"plain","required":true}},"block_types":{"configuration":{"nesting_mode":"list","block":{"attributes":{"label":{"type":"string","description":"Identifier of the resource","description_kind":"plain","required":true},"value":{"type":"string","description":"Path to the resource in API.OVH.COM","description_kind":"plain","required":true}},"description":"Representation of a configuration item for personalizing product","description_kind":"plain"}}},"description":"Product Plan to order","description_kind":"plain"},"min_items":1,"max_items":1},"plan_option":{"nesting_mode":"list","block":{"attributes":{"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"duration":{"type":"string","description":"duration","description_kind":"plain","required":true},"plan_code":{"type":"string","description":"Plan code","description_kind":"plain","required":true},"pricing_mode":{"type":"string","description":"Pricing model identifier","description_kind":"plain","required":true}},"block_types":{"configuration":{"nesting_mode":"list","block":{"attributes":{"label":{"type":"string","description":"Identifier of the resource","description_kind":"plain","required":true},"value":{"type":"string","description":"Path to the resource in API.OVH.COM","description_kind":"plain","required":true}},"description":"Representation of a configuration item for personalizing product","description_kind":"plain"}}},"description":"Product Plan to order","description_kind":"plain"}}},"description_kind":"plain"}},"ovh_iploadbalancing_http_farm":{"version":0,"block":{"attributes":{"balance":{"type":"string","description_kind":"plain","optional":true},"display_name":{"type":"string","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"port":{"type":"number","description_kind":"plain","optional":true},"service_name":{"type":"string","description_kind":"plain","required":true},"stickiness":{"type":"string","description_kind":"plain","optional":true},"vrack_network_id":{"type":"number","description_kind":"plain","optional":true},"zone":{"type":"string","description_kind":"plain","required":true}},"block_types":{"probe":{"nesting_mode":"list","block":{"attributes":{"force_ssl":{"type":"bool","description_kind":"plain","optional":true},"interval":{"type":"number","description_kind":"plain","optional":true},"match":{"type":"string","description_kind":"plain","optional":true,"computed":true},"method":{"type":"string","description_kind":"plain","optional":true,"computed":true},"negate":{"type":"bool","description_kind":"plain","optional":true},"pattern":{"type":"string","description_kind":"plain","optional":true,"computed":true},"port":{"type":"number","description_kind":"plain","optional":true,"computed":true},"type":{"type":"string","description_kind":"plain","required":true},"url":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"ovh_iploadbalancing_http_farm_server":{"version":0,"block":{"attributes":{"address":{"type":"string","description_kind":"plain","required":true},"backup":{"type":"bool","description_kind":"plain","optional":true},"chain":{"type":"string","description_kind":"plain","optional":true},"cookie":{"type":"string","description_kind":"plain","computed":true},"display_name":{"type":"string","description_kind":"plain","optional":true},"farm_id":{"type":"number","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"on_marked_down":{"type":"string","description_kind":"plain","optional":true},"port":{"type":"number","description_kind":"plain","optional":true},"probe":{"type":"bool","description_kind":"plain","optional":true},"proxy_protocol_version":{"type":"string","description_kind":"plain","optional":true},"service_name":{"type":"string","description_kind":"plain","required":true},"ssl":{"type":"bool","description_kind":"plain","optional":true},"status":{"type":"string","description_kind":"plain","required":true},"weight":{"type":"number","description_kind":"plain","optional":true}},"description_kind":"plain"}},"ovh_iploadbalancing_http_frontend":{"version":0,"block":{"attributes":{"allowed_source":{"type":["list","string"],"description_kind":"plain","optional":true},"dedicated_ipfo":{"type":["set","string"],"description_kind":"plain","optional":true},"default_farm_id":{"type":"number","description_kind":"plain","optional":true,"computed":true},"default_ssl_id":{"type":"number","description_kind":"plain","optional":true,"computed":true},"disabled":{"type":"bool","description_kind":"plain","optional":true},"display_name":{"type":"string","description_kind":"plain","optional":true},"hsts":{"type":"bool","description_kind":"plain","optional":true},"http_header":{"type":["list","string"],"description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"port":{"type":"string","description_kind":"plain","required":true},"redirect_location":{"type":"string","description_kind":"plain","optional":true},"service_name":{"type":"string","description_kind":"plain","required":true},"ssl":{"type":"bool","description_kind":"plain","optional":true},"zone":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_iploadbalancing_http_route":{"version":0,"block":{"attributes":{"display_name":{"type":"string","description":"Human readable name for your route, this field is for you","description_kind":"plain","optional":true},"frontend_id":{"type":"number","description":"Route traffic for this frontend","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"rules":{"type":["list",["object",{"field":"string","match":"string","negate":"bool","pattern":"string","rule_id":"number","sub_field":"string"}]],"description":"List of rules to match to trigger action","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"The internal name of your IP load balancing","description_kind":"plain","required":true},"status":{"type":"string","description":"Route status. Routes in \"ok\" state are ready to operate","description_kind":"plain","computed":true},"weight":{"type":"number","description":"Route priority ([0..255]). 0 if null. Highest priority routes are evaluated last. Only the first matching route will trigger an action","description_kind":"plain","optional":true,"computed":true}},"block_types":{"action":{"nesting_mode":"list","block":{"attributes":{"status":{"type":"number","description":"HTTP status code for \"redirect\" and \"reject\" actions","description_kind":"plain","optional":true},"target":{"type":"string","description":"Farm ID for \"farm\" action type or URL template for \"redirect\" action. You may use ${uri}, ${protocol}, ${host}, ${port} and ${path} variables in redirect target","description_kind":"plain","optional":true},"type":{"type":"string","description":"Action to trigger if all the rules of this route matches","description_kind":"plain","required":true}},"description":"Action triggered when all rules match","description_kind":"plain"},"min_items":1,"max_items":1}},"description_kind":"plain"}},"ovh_iploadbalancing_http_route_rule":{"version":0,"block":{"attributes":{"display_name":{"type":"string","description_kind":"plain","optional":true},"field":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"match":{"type":"string","description_kind":"plain","required":true},"negate":{"type":"bool","description_kind":"plain","optional":true,"computed":true},"pattern":{"type":"string","description_kind":"plain","optional":true},"route_id":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"sub_field":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}},"ovh_iploadbalancing_refresh":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"keepers":{"type":["list","string"],"description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_iploadbalancing_tcp_farm":{"version":0,"block":{"attributes":{"balance":{"type":"string","description_kind":"plain","optional":true},"display_name":{"type":"string","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"port":{"type":"number","description_kind":"plain","optional":true},"service_name":{"type":"string","description_kind":"plain","required":true},"stickiness":{"type":"string","description_kind":"plain","optional":true},"vrack_network_id":{"type":"number","description_kind":"plain","optional":true},"zone":{"type":"string","description_kind":"plain","required":true}},"block_types":{"probe":{"nesting_mode":"list","block":{"attributes":{"force_ssl":{"type":"bool","description_kind":"plain","optional":true},"interval":{"type":"number","description_kind":"plain","optional":true},"match":{"type":"string","description_kind":"plain","optional":true,"computed":true},"method":{"type":"string","description_kind":"plain","optional":true},"negate":{"type":"bool","description_kind":"plain","optional":true},"pattern":{"type":"string","description_kind":"plain","optional":true},"port":{"type":"number","description_kind":"plain","optional":true},"type":{"type":"string","description_kind":"plain","required":true},"url":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"ovh_iploadbalancing_tcp_farm_server":{"version":0,"block":{"attributes":{"address":{"type":"string","description_kind":"plain","required":true},"backup":{"type":"bool","description_kind":"plain","optional":true},"chain":{"type":"string","description_kind":"plain","optional":true},"display_name":{"type":"string","description_kind":"plain","optional":true},"farm_id":{"type":"number","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"on_marked_down":{"type":"string","description_kind":"plain","optional":true},"port":{"type":"number","description_kind":"plain","optional":true},"probe":{"type":"bool","description_kind":"plain","optional":true},"proxy_protocol_version":{"type":"string","description_kind":"plain","optional":true},"service_name":{"type":"string","description_kind":"plain","required":true},"ssl":{"type":"bool","description_kind":"plain","optional":true},"status":{"type":"string","description_kind":"plain","required":true},"weight":{"type":"number","description_kind":"plain","optional":true}},"description_kind":"plain"}},"ovh_iploadbalancing_tcp_frontend":{"version":0,"block":{"attributes":{"allowed_source":{"type":["list","string"],"description_kind":"plain","optional":true},"dedicated_ipfo":{"type":["list","string"],"description_kind":"plain","optional":true},"default_farm_id":{"type":"number","description_kind":"plain","optional":true,"computed":true},"default_ssl_id":{"type":"number","description_kind":"plain","optional":true,"computed":true},"disabled":{"type":"bool","description_kind":"plain","optional":true},"display_name":{"type":"string","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"port":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"ssl":{"type":"bool","description_kind":"plain","optional":true},"zone":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_iploadbalancing_tcp_route":{"version":0,"block":{"attributes":{"display_name":{"type":"string","description":"Human readable name for your route, this field is for you","description_kind":"plain","optional":true},"frontend_id":{"type":"number","description":"Route traffic for this frontend","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"rules":{"type":["list",["object",{"field":"string","match":"string","negate":"bool","pattern":"string","rule_id":"number","sub_field":"string"}]],"description":"List of rules to match to trigger action","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"The internal name of your IP load balancing","description_kind":"plain","required":true},"status":{"type":"string","description":"Route status. Routes in \"ok\" state are ready to operate","description_kind":"plain","computed":true},"weight":{"type":"number","description":"Route priority ([0..255]). 0 if null. Highest priority routes are evaluated last. Only the first matching route will trigger an action","description_kind":"plain","optional":true,"computed":true}},"block_types":{"action":{"nesting_mode":"list","block":{"attributes":{"target":{"type":"string","description":"Farm ID for \"farm\" action type, empty for others","description_kind":"plain","optional":true},"type":{"type":"string","description":"Action to trigger if all the rules of this route matches","description_kind":"plain","required":true}},"description":"Action triggered when all rules match","description_kind":"plain"},"min_items":1,"max_items":1}},"description_kind":"plain"}},"ovh_iploadbalancing_tcp_route_rule":{"version":0,"block":{"attributes":{"display_name":{"type":"string","description_kind":"plain","optional":true},"field":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"match":{"type":"string","description_kind":"plain","required":true},"negate":{"type":"bool","description_kind":"plain","optional":true,"computed":true},"pattern":{"type":"string","description_kind":"plain","optional":true},"route_id":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"sub_field":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}},"ovh_iploadbalancing_vrack_network":{"version":0,"block":{"attributes":{"display_name":{"type":"string","description":"Human readable name for your vrack network","description_kind":"plain","optional":true},"farm_id":{"type":["list","number"],"description":"This attribute is there for documentation purpose only and isnt passed to the OVH API as it may conflicts with http/tcp farms `vrack_network_id` attribute","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"nat_ip":{"type":"string","description":"An IP block used as a pool of IPs by this Load Balancer to connect to the servers in this private network. The blck must be in the private network and reserved for the Load Balancer","description_kind":"plain","required":true},"service_name":{"type":"string","description":"The internal name of your IPloadbalancer","description_kind":"plain","required":true},"subnet":{"type":"string","description":"IP block of the private network in the vRack","description_kind":"plain","required":true},"vlan":{"type":"number","description":"VLAN of the private network in the vRack. 0 if the private network is not in a VLAN","description_kind":"plain","optional":true,"computed":true},"vrack_network_id":{"type":"number","description":"Internal Load Balancer identifier of the vRack private network","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_me_api_oauth2_client":{"version":0,"block":{"attributes":{"callback_urls":{"type":["list","string"],"description":"Callback URLs of the applications using this oauth2 client. Required if using the AUTHORIZATION_CODE flow.","description_kind":"plain","optional":true},"client_id":{"type":"string","description":"Client ID for the oauth2 client, generated during the resource creation.","description_kind":"plain","computed":true},"client_secret":{"type":"string","description":"Secret for the oauth2 client, generated during the oauth2 client creation.","description_kind":"plain","computed":true,"sensitive":true},"description":{"type":"string","description":"A description of your oauth2 client.","description_kind":"plain","required":true},"flow":{"type":"string","description":"OAuth2 flow type implemented for this oauth2 client. Can be either AUTHORIZATION_CODE or CLIENT_CREDENTIALS","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"identity":{"type":"string","description":"URN that will allow you to associate this oauth2 client with an access policy","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_me_identity_group":{"version":0,"block":{"attributes":{"creation":{"type":"string","description_kind":"plain","computed":true},"default_group":{"type":"bool","description_kind":"plain","computed":true},"description":{"type":"string","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"last_update":{"type":"string","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true},"role":{"type":"string","description_kind":"plain","optional":true},"urn":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_me_identity_user":{"version":0,"block":{"attributes":{"creation":{"type":"string","description":"Creation date of this user","description_kind":"plain","computed":true},"description":{"type":"string","description":"User description","description_kind":"plain","optional":true},"email":{"type":"string","description":"User's email","description_kind":"plain","required":true},"group":{"type":"string","description":"User's group","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"last_update":{"type":"string","description":"Last update of this user","description_kind":"plain","computed":true},"login":{"type":"string","description":"User's login suffix","description_kind":"plain","required":true},"password":{"type":"string","description":"User's password","description_kind":"plain","required":true,"sensitive":true},"password_last_update":{"type":"string","description":"When the user changed his password for the last time","description_kind":"plain","computed":true},"status":{"type":"string","description":"Current user's status","description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_me_installation_template":{"version":0,"block":{"attributes":{"available_languages":{"type":["list","string"],"description":"List of all language available for this template","description_kind":"plain","computed":true},"base_template_name":{"type":"string","description":"OVH template name yours will be based on, choose one among the list given by compatibleTemplates function","description_kind":"plain","required":true},"beta":{"type":"bool","description":"This distribution is new and, although tested and functional, may still display odd behaviour","description_kind":"plain","computed":true},"bit_format":{"type":"number","description":"This template bit format (32 or 64)","description_kind":"plain","computed":true},"category":{"type":"string","description":"Category of this template (informative only). (basic, customer, hosting, other, readyToUse, virtualisation)","description_kind":"plain","computed":true},"default_language":{"type":"string","description":"The default language of this template","description_kind":"plain","required":true},"deprecated":{"type":"bool","description":"is this distribution deprecated","description_kind":"plain","computed":true},"description":{"type":"string","description":"information about this template","description_kind":"plain","computed":true},"distribution":{"type":"string","description":"the distribution this template is based on","description_kind":"plain","computed":true},"family":{"type":"string","description":"this template family type (bsd,linux,solaris,windows)","description_kind":"plain","computed":true},"filesystems":{"type":["list","string"],"description":"Filesystems available (btrfs,ext3,ext4,ntfs,reiserfs,swap,ufs,xfs,zfs)","description_kind":"plain","computed":true},"hard_raid_configuration":{"type":"bool","description":"This distribution supports hardware raid configuration through the OVH API","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"last_modification":{"type":"string","description":"Date of last modification of the base image","description_kind":"plain","computed":true},"lvm_ready":{"type":"bool","description":"This distribution supports Logical Volumes (Linux LVM)","description_kind":"plain","computed":true},"remove_default_partition_schemes":{"type":"bool","description":"Remove default partition schemes at creation","description_kind":"plain","optional":true,"computed":true},"supports_distribution_kernel":{"type":"bool","description":"This distribution supports installation using the distribution's native kernel instead of the recommended OVH kernel","description_kind":"plain","computed":true},"supports_rtm":{"type":"bool","description":"This distribution supports RTM software","description_kind":"plain","computed":true},"supports_sql_server":{"type":"bool","description":"This distribution supports the microsoft SQL server","description_kind":"plain","computed":true},"template_name":{"type":"string","description":"This template name","description_kind":"plain","required":true}},"block_types":{"customization":{"nesting_mode":"list","block":{"attributes":{"change_log":{"type":"string","description":"Template change log details","description_kind":"plain","deprecated":true,"optional":true},"custom_hostname":{"type":"string","description":"Set up the server using the provided hostname instead of the default hostname","description_kind":"plain","optional":true},"post_installation_script_link":{"type":"string","description":"Indicate the URL where your postinstall customisation script is located","description_kind":"plain","optional":true},"post_installation_script_return":{"type":"string","description":"indicate the string returned by your postinstall customisation script on successful execution. Advice: your script should return a unique validation string in case of succes. A good example is 'loh1Xee7eo OK OK OK UGh8Ang1Gu'","description_kind":"plain","optional":true},"rating":{"type":"number","description_kind":"plain","deprecated":true,"optional":true},"ssh_key_name":{"type":"string","description":"Name of the ssh key that should be installed. Password login will be disabled","description_kind":"plain","optional":true},"use_distribution_kernel":{"type":"bool","description":"Use the distribution's native kernel instead of the recommended OVH Kernel","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"ovh_me_installation_template_partition_scheme":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"name of this partitioning scheme","description_kind":"plain","required":true},"priority":{"type":"number","description":"on a reinstall, if a partitioning scheme is not specified, the one with the higher priority will be used by default, among all the compatible partitioning schemes (given the underlying hardware specifications)","description_kind":"plain","required":true},"template_name":{"type":"string","description":"This template name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_me_installation_template_partition_scheme_hardware_raid":{"version":0,"block":{"attributes":{"disks":{"type":["list","string"],"description":"Disk List. Syntax is cX:dY for disks and [cX:dY,cX:dY] for groups. With X and Y resp. the controller id and the disk id","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"mode":{"type":"string","description":"RAID mode (raid0, raid1, raid10, raid5, raid50, raid6, raid60)","description_kind":"plain","required":true},"name":{"type":"string","description":"Hardware RAID name","description_kind":"plain","required":true},"scheme_name":{"type":"string","description":"name of this partitioning scheme","description_kind":"plain","required":true},"step":{"type":"number","description":"Specifies the creation order of the hardware RAID","description_kind":"plain","required":true},"template_name":{"type":"string","description":"Template name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_me_installation_template_partition_scheme_partition":{"version":0,"block":{"attributes":{"filesystem":{"type":"string","description":"Partition filesystem","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"mountpoint":{"type":"string","description":"partition mount point","description_kind":"plain","required":true},"order":{"type":"number","description":"step or order. specifies the creation order of the partition on the disk","description_kind":"plain","required":true},"raid":{"type":"string","description":"raid partition type","description_kind":"plain","optional":true,"computed":true},"scheme_name":{"type":"string","description":"name of this partitioning scheme","description_kind":"plain","required":true},"size":{"type":"number","description":"size of partition in MB, 0 =\u003e rest of the space","description_kind":"plain","required":true},"template_name":{"type":"string","description":"Template name","description_kind":"plain","required":true},"type":{"type":"string","description":"partition type","description_kind":"plain","required":true},"volume_name":{"type":"string","description":"The volume name needed for proxmox distribution","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"ovh_me_ssh_key":{"version":0,"block":{"attributes":{"default":{"type":"bool","description":"True when this public Ssh key is used for rescue mode and reinstallations","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"key":{"type":"string","description":"ASCII encoded public Ssh key","description_kind":"plain","required":true},"key_name":{"type":"string","description":"Name of this public Ssh key","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_vrack":{"version":0,"block":{"attributes":{"description":{"type":"string","description":"yourvrackdescription","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"yourvrackname","description_kind":"plain","optional":true,"computed":true},"order":{"type":["list",["object",{"date":"string","details":["list",["object",{"description":"string","domain":"string","order_detail_id":"number","quantity":"string"}]],"expiration_date":"string","order_id":"number"}]],"description":"Details about an Order","description_kind":"plain","computed":true},"ovh_subsidiary":{"type":"string","description":"Ovh Subsidiary","description_kind":"plain","required":true},"payment_mean":{"type":"string","description":"Ovh payment mode","description_kind":"plain","deprecated":true,"optional":true},"service_name":{"type":"string","description":"The internal name of your vrack","description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true}},"block_types":{"plan":{"nesting_mode":"list","block":{"attributes":{"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"duration":{"type":"string","description":"duration","description_kind":"plain","required":true},"plan_code":{"type":"string","description":"Plan code","description_kind":"plain","required":true},"pricing_mode":{"type":"string","description":"Pricing model identifier","description_kind":"plain","required":true}},"block_types":{"configuration":{"nesting_mode":"list","block":{"attributes":{"label":{"type":"string","description":"Identifier of the resource","description_kind":"plain","required":true},"value":{"type":"string","description":"Path to the resource in API.OVH.COM","description_kind":"plain","required":true}},"description":"Representation of a configuration item for personalizing product","description_kind":"plain"}}},"description":"Product Plan to order","description_kind":"plain"},"min_items":1,"max_items":1},"plan_option":{"nesting_mode":"list","block":{"attributes":{"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"duration":{"type":"string","description":"duration","description_kind":"plain","required":true},"plan_code":{"type":"string","description":"Plan code","description_kind":"plain","required":true},"pricing_mode":{"type":"string","description":"Pricing model identifier","description_kind":"plain","required":true}},"block_types":{"configuration":{"nesting_mode":"list","block":{"attributes":{"label":{"type":"string","description":"Identifier of the resource","description_kind":"plain","required":true},"value":{"type":"string","description":"Path to the resource in API.OVH.COM","description_kind":"plain","required":true}},"description":"Representation of a configuration item for personalizing product","description_kind":"plain"}}},"description":"Product Plan to order","description_kind":"plain"}}},"description_kind":"plain"}},"ovh_vrack_cloudproject":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"project_id":{"type":"string","description_kind":"plain","optional":true},"service_name":{"type":"string","description":"Service name of the vrack resource.","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_vrack_dedicated_server":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"server_id":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name of the resource representing the id of the cloud project.","description_kind":"plain","required":true}},"description_kind":"plain","deprecated":true}},"ovh_vrack_dedicated_server_interface":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"interface_id":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name of the vrack resource.","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_vrack_ip":{"version":0,"block":{"attributes":{"block":{"type":"string","description":"Your IP block.","description_kind":"plain","required":true},"gateway":{"type":"string","description":"Your gateway","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip":{"type":"string","description":"Your IP block","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"The internal name of your vrack","description_kind":"plain","required":true},"zone":{"type":"string","description":"Where you want your block announced on the network","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_vrack_iploadbalancing":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_loadbalancing":{"type":"string","description":"Your ipLoadbalancing","description_kind":"plain","required":true},"service_name":{"type":"string","description":"The internal name of your vrack","description_kind":"plain","required":true}},"description_kind":"plain"}}},"data_source_schemas":{"ovh_cloud_project_capabilities_containerregistry":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"result":{"type":["list",["object",{"plans":["list",["object",{"code":"string","created_at":"string","features":["list",["object",{"vulnerability":"bool"}]],"id":"string","name":"string","registry_limits":["list",["object",{"image_storage":"number","parallel_request":"number"}]],"updated_at":"string"}]],"region_name":"string"}]],"description":"List of container registry capability for a single region","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_capabilities_containerregistry_filter":{"version":0,"block":{"attributes":{"code":{"type":"string","description":"Plan code from catalog","description_kind":"plain","computed":true},"created_at":{"type":"string","description":"Plan creation date","description_kind":"plain","computed":true},"features":{"type":["list",["object",{"vulnerability":"bool"}]],"description":"Features of the plan","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Plan name","description_kind":"plain","computed":true},"plan_name":{"type":"string","description":"Plan name of the registry.","description_kind":"plain","required":true},"region":{"type":"string","description":"Region of the registry.","description_kind":"plain","required":true},"registry_limits":{"type":["list",["object",{"image_storage":"number","parallel_request":"number"}]],"description":"Container registry limits","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"updated_at":{"type":"string","description":"Plan last update date","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_containerregistries":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"result":{"type":["list",["object",{"created_at":"string","id":"string","name":"string","project_id":"string","region":"string","size":"number","status":"string","updated_at":"string","url":"string","version":"string"}]],"description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_containerregistry":{"version":0,"block":{"attributes":{"created_at":{"type":"string","description":"Registry creation date","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Registry name","description_kind":"plain","computed":true},"project_id":{"type":"string","description":"Project ID of your registry","description_kind":"plain","computed":true},"region":{"type":"string","description":"Region of the registry.","description_kind":"plain","computed":true},"registry_id":{"type":"string","description":"Registry ID","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"size":{"type":"number","description":"Current size of the registry (bytes)","description_kind":"plain","computed":true},"status":{"type":"string","description":"Registry status","description_kind":"plain","computed":true},"updated_at":{"type":"string","description":"Registry last update date","description_kind":"plain","computed":true},"url":{"type":"string","description":"Access url of the registry","description_kind":"plain","computed":true},"version":{"type":"string","description":"Version of your registry","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_containerregistry_ip_restrictions_management":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_restrictions":{"type":["list",["map","string"]],"description":"List your IP restrictions applied on artifact manager component","description_kind":"plain","computed":true},"registry_id":{"type":"string","description":"Registry ID","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_containerregistry_ip_restrictions_registry":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_restrictions":{"type":["list",["map","string"]],"description":"List your IP restrictions applied on artifact manager component","description_kind":"plain","computed":true},"registry_id":{"type":"string","description":"Registry ID","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_containerregistry_oidc":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"oidc_admin_group":{"type":"string","description_kind":"plain","optional":true},"oidc_auto_onboard":{"type":"bool","description_kind":"plain","optional":true},"oidc_client_id":{"type":"string","description_kind":"plain","optional":true},"oidc_endpoint":{"type":"string","description_kind":"plain","optional":true},"oidc_groups_claim":{"type":"string","description_kind":"plain","optional":true},"oidc_name":{"type":"string","description_kind":"plain","optional":true},"oidc_scope":{"type":"string","description_kind":"plain","optional":true},"oidc_user_claim":{"type":"string","description_kind":"plain","optional":true},"oidc_verify_cert":{"type":"bool","description_kind":"plain","optional":true},"registry_id":{"type":"string","description":"Registry ID","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_containerregistry_users":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"registry_id":{"type":"string","description":"RegistryID","description_kind":"plain","required":true},"result":{"type":["list",["object",{"email":"string","id":"string","user":"string"}]],"description_kind":"plain","computed":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database":{"version":0,"block":{"attributes":{"advanced_configuration":{"type":["map","string"],"description":"Advanced configuration key / value","description_kind":"plain","computed":true},"backup_regions":{"type":["list","string"],"description":"List of region where backups are pushed","description_kind":"plain","computed":true},"backup_time":{"type":"string","description":"Time on which backups start every day","description_kind":"plain","computed":true},"created_at":{"type":"string","description":"Date of the creation of the cluster","description_kind":"plain","computed":true},"description":{"type":"string","description":"Description of the cluster","description_kind":"plain","computed":true},"disk_size":{"type":"number","description":"Disk size attributes of the cluster","description_kind":"plain","computed":true},"disk_type":{"type":"string","description":"Disk type attributes of the cluster","description_kind":"plain","computed":true},"endpoints":{"type":["list",["object",{"component":"string","domain":"string","path":"string","port":"number","scheme":"string","ssl":"bool","ssl_mode":"string","uri":"string"}]],"description":"List of all endpoints of the service","description_kind":"plain","computed":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"flavor":{"type":"string","description":"The node flavor used for this cluster","description_kind":"plain","computed":true},"id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"kafka_rest_api":{"type":"bool","description":"Defines whether the REST API is enabled on a Kafka cluster","description_kind":"plain","computed":true},"maintenance_time":{"type":"string","description":"Time on which maintenances can start every day","description_kind":"plain","computed":true},"network_type":{"type":"string","description":"Type of network of the cluster","description_kind":"plain","computed":true},"nodes":{"type":["list",["object",{"network_id":"string","region":"string","subnet_id":"string"}]],"description":"List of nodes composing the service","description_kind":"plain","computed":true},"opensearch_acls_enabled":{"type":"bool","description":"Defines whether the ACLs are enabled on an Opensearch cluster","description_kind":"plain","computed":true},"plan":{"type":"string","description":"Plan of the cluster","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the cluster","description_kind":"plain","computed":true},"version":{"type":"string","description":"Version of the engine deployed on the cluster","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_capabilities":{"version":0,"block":{"attributes":{"engines":{"type":["set",["object",{"default_version":"string","description":"string","name":"string","ssl_modes":["set","string"],"versions":["set","string"]}]],"description":"Database engines available","description_kind":"plain","computed":true},"flavors":{"type":["set",["object",{"core":"number","memory":"number","name":"string","storage":"number"}]],"description":"Flavors available","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"options":{"type":["set",["object",{"name":"string","type":"string"}]],"description":"Options available","description_kind":"plain","computed":true},"plans":{"type":["set",["object",{"backup_retention":"string","description":"string","name":"string"}]],"description":"Plans available","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database_certificates":{"version":0,"block":{"attributes":{"ca":{"type":"string","description":"CA certificate used for the service","description_kind":"plain","computed":true},"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database_database":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"default":{"type":"bool","description":"Defines if the database has been created by default","description_kind":"plain","computed":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the database","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database_databases":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"database_ids":{"type":["list","string"],"description":"List of databases ids","description_kind":"plain","computed":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database_integration":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"destination_service_id":{"type":"string","description":"ID of the destination service","description_kind":"plain","computed":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description":"Integration ID","description_kind":"plain","required":true},"parameters":{"type":["map","string"],"description":"Parameters for the integration","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"source_service_id":{"type":"string","description":"ID of the source service","description_kind":"plain","computed":true},"status":{"type":"string","description":"Current status of the integration","description_kind":"plain","computed":true},"type":{"type":"string","description":"Type of the integration","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_integrations":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"integration_ids":{"type":["list","string"],"description":"List of integrations ids","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database_ip_restrictions":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"ips":{"type":["set","string"],"description":"List of IP restriction","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database_kafka_acl":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description":"Acl ID","description_kind":"plain","required":true},"permission":{"type":"string","description":"Permission to give to this username on this topic","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"topic":{"type":"string","description":"Topic affected by this acl","description_kind":"plain","computed":true},"username":{"type":"string","description":"Username affected by this acl","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_kafka_acls":{"version":0,"block":{"attributes":{"acl_ids":{"type":["list","string"],"description":"List of acl ids","description_kind":"plain","computed":true},"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database_kafka_schemaregistryacl":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description":"Shema registry ACL ID","description_kind":"plain","required":true},"permission":{"type":"string","description":"Permission to give to this username on this resource","description_kind":"plain","computed":true},"resource":{"type":"string","description":"Resource affected by this ACL","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"username":{"type":"string","description":"Username affected by this ACL","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_kafka_schemaregistryacls":{"version":0,"block":{"attributes":{"acl_ids":{"type":["list","string"],"description":"List of schema registry acl ids","description_kind":"plain","computed":true},"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database_kafka_topic":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description":"Topic ID","description_kind":"plain","required":true},"min_insync_replicas":{"type":"number","description":"Minimum insync replica accepted for this topic","description_kind":"plain","computed":true},"name":{"type":"string","description":"Name of the topic","description_kind":"plain","computed":true},"partitions":{"type":"number","description":"Number of partitions for this topic","description_kind":"plain","computed":true},"replication":{"type":"number","description":"Number of replication for this topic","description_kind":"plain","computed":true},"retention_bytes":{"type":"number","description":"Number of bytes for the retention of the data for this topic","description_kind":"plain","computed":true},"retention_hours":{"type":"number","description":"Number of hours for the retention of the data for this topic","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database_kafka_topics":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"topic_ids":{"type":["list","string"],"description":"List of topic ids","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_kafka_user_access":{"version":0,"block":{"attributes":{"cert":{"type":"string","description":"User cert","description_kind":"plain","computed":true},"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"key":{"type":"string","description":"User key for the cert","description_kind":"plain","computed":true,"sensitive":true},"service_name":{"type":"string","description_kind":"plain","required":true},"user_id":{"type":"string","description":"Id of the user","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database_m3db_namespace":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the namespace","description_kind":"plain","required":true},"resolution":{"type":"string","description":"Resolution for an aggregated namespace","description_kind":"plain","computed":true},"retention_block_data_expiration_duration":{"type":"string","description":"Controls how long we wait before expiring stale data","description_kind":"plain","computed":true},"retention_block_size_duration":{"type":"string","description":"Controls how long to keep a block in memory before flushing to a fileset on disk","description_kind":"plain","computed":true},"retention_buffer_future_duration":{"type":"string","description":"Controls how far into the future writes to the namespace will be accepted","description_kind":"plain","computed":true},"retention_buffer_past_duration":{"type":"string","description":"Controls how far into the past writes to the namespace will be accepted","description_kind":"plain","computed":true},"retention_period_duration":{"type":"string","description":"Controls the duration of time that M3DB will retain data for the namespace","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"snapshot_enabled":{"type":"bool","description":"Defines whether M3DB will create snapshot files for this namespace","description_kind":"plain","computed":true},"type":{"type":"string","description":"Type of namespace","description_kind":"plain","computed":true},"writes_to_commit_log_enabled":{"type":"bool","description":"Defines whether M3DB will include writes to this namespace in the commit log","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_m3db_namespaces":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"namespace_ids":{"type":["list","string"],"description":"List of namespaces ids","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database_m3db_user":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"created_at":{"type":"string","description":"Date of the creation of the user","description_kind":"plain","computed":true},"group":{"type":"string","description":"Group of the user","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the user","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the user","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_mongodb_user":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"created_at":{"type":"string","description":"Date of the creation of the user","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the user with the authentication database in the format name@authDB","description_kind":"plain","required":true},"roles":{"type":["set","string"],"description":"Roles the user belongs to","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the user","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_opensearch_pattern":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description":"Pattern ID","description_kind":"plain","required":true},"max_index_count":{"type":"number","description":"Maximum number of index for this pattern","description_kind":"plain","computed":true},"pattern":{"type":"string","description":"Pattern format","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database_opensearch_patterns":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"pattern_ids":{"type":["list","string"],"description":"List of pattern ids","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database_opensearch_user":{"version":0,"block":{"attributes":{"acls":{"type":["set",["object",{"pattern":"string","permission":"string"}]],"description":"Acls of the user","description_kind":"plain","computed":true},"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"created_at":{"type":"string","description":"Date of the creation of the user","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the user","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the user","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_postgresql_connection_pool":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"database_id":{"type":"string","description":"Database used for the connection pool","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"mode":{"type":"string","description":"Connection mode to the connection pool","description_kind":"plain","computed":true},"name":{"type":"string","description":"Name of the connection pool","description_kind":"plain","required":true},"port":{"type":"number","description":"Port of the connection pool","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"size":{"type":"number","description":"Size of the connection pool","description_kind":"plain","computed":true},"ssl_mode":{"type":"string","description":"SSL connection mode for the pool","description_kind":"plain","computed":true},"uri":{"type":"string","description":"Connection URI to the pool","description_kind":"plain","computed":true},"user_id":{"type":"string","description":"User authorized to connect to the pool, if none all the users are allowed","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_postgresql_user":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"created_at":{"type":"string","description":"Date of the creation of the user","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the user","description_kind":"plain","required":true},"roles":{"type":["set","string"],"description":"Roles the user belongs to","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the user","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_redis_user":{"version":0,"block":{"attributes":{"categories":{"type":["set","string"],"description":"Categories of the user","description_kind":"plain","computed":true},"channels":{"type":["set","string"],"description":"Channels of the user","description_kind":"plain","computed":true},"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"commands":{"type":["set","string"],"description":"Commands of the user","description_kind":"plain","computed":true},"created_at":{"type":"string","description":"Date of the creation of the user","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"keys":{"type":["set","string"],"description":"Keys of the user","description_kind":"plain","computed":true},"name":{"type":"string","description":"Name of the user","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the user","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_user":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"created_at":{"type":"string","description":"Date of the creation of the user","description_kind":"plain","computed":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the user","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the user","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_users":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"user_ids":{"type":["list","string"],"description":"List of users ids","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_databases":{"version":0,"block":{"attributes":{"cluster_ids":{"type":["list","string"],"description":"List of database clusters uuids","description_kind":"plain","computed":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_failover_ip_attach":{"version":0,"block":{"attributes":{"block":{"type":"string","description":"IP block","description_kind":"plain","optional":true,"computed":true},"continent_code":{"type":"string","description":"Ip continent","description_kind":"plain","optional":true,"computed":true},"geo_loc":{"type":"string","description":"Ip location","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description":"Ip id","description_kind":"plain","computed":true},"ip":{"type":"string","description":"Ip","description_kind":"plain","optional":true,"computed":true},"progress":{"type":"number","description":"Current operation progress in percent","description_kind":"plain","computed":true},"routed_to":{"type":"string","description":"Instance where ip is routed to","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"The service name","description_kind":"plain","required":true},"status":{"type":"string","description":"Ip status","description_kind":"plain","computed":true},"sub_type":{"type":"string","description":"IP sub type","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_kube":{"version":0,"block":{"attributes":{"control_plane_is_up_to_date":{"type":"bool","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"is_up_to_date":{"type":"bool","description_kind":"plain","computed":true},"kube_id":{"type":"string","description_kind":"plain","required":true},"kube_proxy_mode":{"type":"string","description_kind":"plain","optional":true},"name":{"type":"string","description_kind":"plain","optional":true},"next_upgrade_versions":{"type":["set","string"],"description_kind":"plain","computed":true},"nodes_url":{"type":"string","description_kind":"plain","computed":true},"private_network_id":{"type":"string","description_kind":"plain","computed":true},"region":{"type":"string","description_kind":"plain","optional":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description_kind":"plain","computed":true},"update_policy":{"type":"string","description_kind":"plain","optional":true},"url":{"type":"string","description_kind":"plain","computed":true},"version":{"type":"string","description_kind":"plain","optional":true}},"block_types":{"customization":{"nesting_mode":"set","block":{"block_types":{"apiserver":{"nesting_mode":"set","block":{"block_types":{"admissionplugins":{"nesting_mode":"set","block":{"attributes":{"disabled":{"type":["list","string"],"description_kind":"plain","optional":true,"computed":true},"enabled":{"type":["list","string"],"description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}}},"description_kind":"plain","deprecated":true}}},"description_kind":"plain","deprecated":true}},"customization_apiserver":{"nesting_mode":"set","block":{"block_types":{"admissionplugins":{"nesting_mode":"set","block":{"attributes":{"disabled":{"type":["list","string"],"description_kind":"plain","optional":true,"computed":true},"enabled":{"type":["list","string"],"description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"customization_kube_proxy":{"nesting_mode":"set","block":{"block_types":{"iptables":{"nesting_mode":"set","block":{"attributes":{"min_sync_period":{"type":"string","description_kind":"plain","optional":true},"sync_period":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"ipvs":{"nesting_mode":"set","block":{"attributes":{"min_sync_period":{"type":"string","description_kind":"plain","optional":true},"scheduler":{"type":"string","description_kind":"plain","optional":true},"sync_period":{"type":"string","description_kind":"plain","optional":true},"tcp_fin_timeout":{"type":"string","description_kind":"plain","optional":true},"tcp_timeout":{"type":"string","description_kind":"plain","optional":true},"udp_timeout":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"ovh_cloud_project_kube_iprestrictions":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ips":{"type":["set","string"],"description":"List of IP restrictions for the cluster","description_kind":"plain","computed":true},"kube_id":{"type":"string","description":"Kube ID","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_kube_nodepool":{"version":0,"block":{"attributes":{"anti_affinity":{"type":"bool","description":"Enable anti affinity groups for nodes in the pool","description_kind":"plain","computed":true},"autoscale":{"type":"bool","description":"Enable auto-scaling for the pool","description_kind":"plain","computed":true},"autoscaling_scale_down_unneeded_time_seconds":{"type":"number","description":"scaleDownUnneededTimeSeconds for autoscaling","description_kind":"plain","computed":true},"autoscaling_scale_down_unready_time_seconds":{"type":"number","description":"scaleDownUnreadyTimeSeconds for autoscaling","description_kind":"plain","computed":true},"autoscaling_scale_down_utilization_threshold":{"type":"number","description":"scaleDownUtilizationThreshold for autoscaling","description_kind":"plain","computed":true},"available_nodes":{"type":"number","description":"Number of nodes which are actually ready in the pool","description_kind":"plain","computed":true},"created_at":{"type":"string","description":"Creation date","description_kind":"plain","computed":true},"current_nodes":{"type":"number","description":"Number of nodes present in the pool","description_kind":"plain","computed":true},"desired_nodes":{"type":"number","description":"Number of nodes you desire in the pool","description_kind":"plain","computed":true},"flavor":{"type":"string","description":"Flavor name","description_kind":"plain","computed":true},"flavor_name":{"type":"string","description":"Flavor name","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kube_id":{"type":"string","description":"Kube ID","description_kind":"plain","required":true},"max_nodes":{"type":"number","description":"Number of nodes you desire in the pool","description_kind":"plain","computed":true},"min_nodes":{"type":"number","description":"Number of nodes you desire in the pool","description_kind":"plain","computed":true},"monthly_billed":{"type":"bool","description":"Enable monthly billing on all nodes in the pool","description_kind":"plain","computed":true},"name":{"type":"string","description":"NodePool resource name","description_kind":"plain","required":true},"project_id":{"type":"string","description":"Project id","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true},"size_status":{"type":"string","description":"Status describing the state between number of nodes wanted and available ones","description_kind":"plain","computed":true},"status":{"type":"string","description":"Current status","description_kind":"plain","computed":true},"up_to_date_nodes":{"type":"number","description":"Number of nodes with latest version installed in the pool","description_kind":"plain","computed":true},"updated_at":{"type":"string","description":"Last update date","description_kind":"plain","computed":true}},"block_types":{"template":{"nesting_mode":"set","block":{"block_types":{"metadata":{"nesting_mode":"set","block":{"attributes":{"annotations":{"type":["map","string"],"description":"annotations","description_kind":"plain","optional":true},"finalizers":{"type":["list","string"],"description":"finalizers","description_kind":"plain","optional":true},"labels":{"type":["map","string"],"description":"labels","description_kind":"plain","optional":true}},"description":"metadata","description_kind":"plain"},"max_items":1},"spec":{"nesting_mode":"set","block":{"attributes":{"taints":{"type":["list",["map","string"]],"description":"taints","description_kind":"plain","optional":true},"unschedulable":{"type":"bool","description":"unschedulable","description_kind":"plain","optional":true}},"description":"spec","description_kind":"plain"},"max_items":1}},"description":"Node pool template","description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"ovh_cloud_project_kube_nodepool_nodes":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kube_id":{"type":"string","description":"Kube ID","description_kind":"plain","required":true},"name":{"type":"string","description":"NodePool resource name","description_kind":"plain","required":true},"nodes":{"type":["list",["object",{"created_at":"string","deployed_at":"string","flavor":"string","id":"string","instance_id":"string","is_up_to_date":"bool","name":"string","node_pool_id":"string","project_id":"string","status":"string","updated_at":"string","version":"string"}]],"description":"Nodes composing the node pool","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_kube_nodes":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kube_id":{"type":"string","description":"Kube ID","description_kind":"plain","required":true},"nodes":{"type":["list",["object",{"created_at":"string","deployed_at":"string","flavor":"string","id":"string","instance_id":"string","is_up_to_date":"bool","name":"string","node_pool_id":"string","project_id":"string","status":"string","updated_at":"string","version":"string"}]],"description":"Nodes composing the cluster","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_kube_oidc":{"version":0,"block":{"attributes":{"client_id":{"type":"string","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"issuer_url":{"type":"string","description_kind":"plain","optional":true},"kube_id":{"type":"string","description":"Kube ID","description_kind":"plain","required":true},"oidc_ca_content":{"type":"string","description_kind":"plain","optional":true},"oidc_groups_claim":{"type":["list","string"],"description_kind":"plain","optional":true},"oidc_groups_prefix":{"type":"string","description_kind":"plain","optional":true},"oidc_required_claim":{"type":["list","string"],"description_kind":"plain","optional":true},"oidc_signing_algs":{"type":["list","string"],"description_kind":"plain","optional":true},"oidc_username_claim":{"type":"string","description_kind":"plain","optional":true},"oidc_username_prefix":{"type":"string","description_kind":"plain","optional":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_region":{"version":0,"block":{"attributes":{"continent_code":{"type":"string","description_kind":"plain","computed":true},"datacenter_location":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name of the resource representing the id of the cloud project.","description_kind":"plain","required":true},"services":{"type":["set",["object",{"name":"string","status":"string"}]],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_regions":{"version":0,"block":{"attributes":{"has_services_up":{"type":["list","string"],"description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"names":{"type":["set","string"],"description_kind":"plain","computed":true},"service_name":{"type":"string","description":"Service name of the resource representing the id of the cloud project.","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_user":{"version":0,"block":{"attributes":{"creation_date":{"type":"string","description_kind":"plain","computed":true},"description":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"roles":{"type":["list",["object",{"description":"string","id":"string","name":"string","permissions":["set","string"]}]],"description_kind":"plain","computed":true},"service_name":{"type":"string","description":"Service name of the resource representing the id of the cloud project.","description_kind":"plain","required":true},"status":{"type":"string","description_kind":"plain","computed":true},"user_id":{"type":"string","description":"The user ID","description_kind":"plain","required":true},"username":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_user_s3_credential":{"version":0,"block":{"attributes":{"access_key_id":{"type":"string","description":"The access key","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"secret_access_key":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"service_name":{"type":"string","description":"Service name of the resource representing the ID of the cloud project.","description_kind":"plain","required":true},"user_id":{"type":"string","description":"The user ID","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_user_s3_credentials":{"version":0,"block":{"attributes":{"access_key_ids":{"type":["list","string"],"description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"Service name of the resource representing the ID of the cloud project.","description_kind":"plain","required":true},"user_id":{"type":"string","description":"The user ID","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_user_s3_policy":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"policy":{"type":"string","description":"The policy document. This is a JSON formatted string.","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"Service name of the resource representing the ID of the cloud project.","description_kind":"plain","required":true},"user_id":{"type":"string","description":"The user ID","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_users":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"Service name of the resource representing the id of the cloud project.","description_kind":"plain","required":true},"users":{"type":["list",["object",{"creation_date":"string","description":"string","roles":["list",["object",{"description":"string","id":"string","name":"string","permissions":["set","string"]}]],"status":"string","user_id":"string","username":"string"}]],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_vrack":{"version":0,"block":{"attributes":{"description":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_dbaas_logs_cluster":{"version":0,"block":{"attributes":{"archive_allowed_networks":{"type":["set","string"],"description":"Allowed networks for ARCHIVE flow type","description_kind":"plain","computed":true},"cluster_id":{"type":"string","description_kind":"plain","optional":true},"cluster_type":{"type":"string","description":"Cluster type","description_kind":"plain","computed":true},"dedicated_input_pem":{"type":"string","description":"PEM for dedicated inputs","description_kind":"plain","computed":true,"sensitive":true},"direct_input_allowed_networks":{"type":["set","string"],"description":"Allowed networks for DIRECT_INPUT flow type","description_kind":"plain","computed":true},"direct_input_pem":{"type":"string","description":"PEM for direct inputs","description_kind":"plain","computed":true,"sensitive":true},"hostname":{"type":"string","description":"hostname","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"is_default":{"type":"bool","description":"All content generated by given service will be placed on this cluster","description_kind":"plain","computed":true},"is_unlocked":{"type":"bool","description":"Allow given service to perform advanced operations on cluster","description_kind":"plain","computed":true},"query_allowed_networks":{"type":["set","string"],"description":"Allowed networks for QUERY flow type","description_kind":"plain","computed":true},"region":{"type":"string","description":"Data center localization","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"The service name","description_kind":"plain","required":true},"urn":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_dbaas_logs_clusters":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"The service name","description_kind":"plain","required":true},"urn":{"type":"string","description_kind":"plain","computed":true},"uuids":{"type":["set","string"],"description":"UUID of clusters","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_dbaas_logs_input_engine":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"is_deprecated":{"type":"bool","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"The service name","description_kind":"plain","required":true},"version":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"ovh_dbaas_logs_output_graylog_stream":{"version":0,"block":{"attributes":{"can_alert":{"type":"bool","description":"Indicates if the current user can create alert on the stream","description_kind":"plain","computed":true},"cold_storage_compression":{"type":"string","description":"Cold storage compression method","description_kind":"plain","computed":true},"cold_storage_content":{"type":"string","description":"ColdStorage content","description_kind":"plain","computed":true},"cold_storage_enabled":{"type":"bool","description":"Is Cold storage enabled?","description_kind":"plain","computed":true},"cold_storage_notify_enabled":{"type":"bool","description":"Notify on new Cold storage archive","description_kind":"plain","computed":true},"cold_storage_retention":{"type":"number","description":"Cold storage retention in year","description_kind":"plain","computed":true},"cold_storage_target":{"type":"string","description":"ColdStorage destination","description_kind":"plain","computed":true},"created_at":{"type":"string","description":"Stream creation","description_kind":"plain","computed":true},"description":{"type":"string","description":"Stream description","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"indexing_enabled":{"type":"bool","description":"Enable ES indexing","description_kind":"plain","computed":true},"indexing_max_size":{"type":"number","description":"Maximum indexing size (in GB)","description_kind":"plain","computed":true},"indexing_notify_enabled":{"type":"bool","description":"If set, notify when size is near 80, 90 or 100 % of the maximum configured setting","description_kind":"plain","computed":true},"is_editable":{"type":"bool","description":"Indicates if you are allowed to edit entry","description_kind":"plain","computed":true},"is_shareable":{"type":"bool","description":"Indicates if you are allowed to share entry","description_kind":"plain","computed":true},"nb_alert_condition":{"type":"number","description":"Number of alert condition","description_kind":"plain","computed":true},"nb_archive":{"type":"number","description":"Number of coldstored archives","description_kind":"plain","computed":true},"parent_stream_id":{"type":"string","description":"Parent stream ID","description_kind":"plain","computed":true},"pause_indexing_on_max_size":{"type":"bool","description":"If set, pause indexing when maximum size is reach","description_kind":"plain","computed":true},"retention_id":{"type":"string","description":"Retention ID","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"The service name","description_kind":"plain","required":true},"stream_id":{"type":"string","description":"Stream ID","description_kind":"plain","computed":true},"title":{"type":"string","description":"Stream description","description_kind":"plain","required":true},"updated_at":{"type":"string","description":"Stream last update","description_kind":"plain","computed":true},"web_socket_enabled":{"type":"bool","description":"Enable Websocket","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_dedicated_ceph":{"version":0,"block":{"attributes":{"ceph_mons":{"type":["list","string"],"description_kind":"plain","computed":true},"ceph_version":{"type":"string","description_kind":"plain","optional":true,"computed":true},"crush_tunables":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"label":{"type":"string","description_kind":"plain","computed":true},"region":{"type":"string","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"size":{"type":"number","description_kind":"plain","computed":true},"state":{"type":"string","description_kind":"plain","computed":true},"status":{"type":"string","description_kind":"plain","optional":true,"computed":true},"urn":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_dedicated_installation_templates":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"result":{"type":["list","string"],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_dedicated_nasha":{"version":0,"block":{"attributes":{"can_create_partition":{"type":"bool","description":"True, if partition creation is allowed on this HA-NAS","description_kind":"plain","computed":true},"custom_name":{"type":"string","description":"The name you give to the HA-NAS","description_kind":"plain","computed":true},"datacenter":{"type":"string","description":"area of HA-NAS","description_kind":"plain","computed":true},"disk_type":{"type":"string","description":"the disk type of the HA-NAS","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip":{"type":"string","description":"Access IP of HA-NAS","description_kind":"plain","computed":true},"monitored":{"type":"bool","description":"Send an email to customer if any issue is detected","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"The storage service name","description_kind":"plain","required":true},"urn":{"type":"string","description_kind":"plain","computed":true},"zpool_capacity":{"type":"number","description":"percentage of HA-NAS space used in %","description_kind":"plain","computed":true},"zpool_size":{"type":"number","description":"the size of the HA-NAS","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_dedicated_server":{"version":0,"block":{"attributes":{"boot_id":{"type":"number","description_kind":"plain","computed":true},"boot_script":{"type":"string","description_kind":"plain","computed":true},"commercial_range":{"type":"string","description":"dedicater server commercial range","description_kind":"plain","computed":true},"datacenter":{"type":"string","description":"dedicated datacenter localisation (bhs1,bhs2,...)","description_kind":"plain","computed":true},"display_name":{"type":"string","description_kind":"plain","computed":true},"enabled_public_vnis":{"type":["list","string"],"description":"List of enabled public VNI uuids","description_kind":"plain","computed":true},"enabled_vrack_aggregation_vnis":{"type":["list","string"],"description":"List of enabled vrack_aggregation VNI uuids","description_kind":"plain","computed":true},"enabled_vrack_vnis":{"type":["list","string"],"description":"List of enabled vrack VNI uuids","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip":{"type":"string","description":"dedicated server ip (IPv4)","description_kind":"plain","computed":true},"ips":{"type":["list","string"],"description":"dedicated server ip blocks","description_kind":"plain","computed":true},"link_speed":{"type":"number","description_kind":"plain","computed":true},"monitoring":{"type":"bool","description":"Icmp monitoring state","description_kind":"plain","computed":true},"name":{"type":"string","description":"dedicated server name","description_kind":"plain","computed":true},"os":{"type":"string","description":"Operating system","description_kind":"plain","computed":true},"professional_use":{"type":"bool","description":"Does this server have professional use option","description_kind":"plain","computed":true},"rack":{"type":"string","description_kind":"plain","computed":true},"rescue_mail":{"type":"string","description_kind":"plain","computed":true},"reverse":{"type":"string","description":"dedicated server reverse","description_kind":"plain","computed":true},"root_device":{"type":"string","description_kind":"plain","computed":true},"server_id":{"type":"number","description":"your server id","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"state":{"type":"string","description":"error, hacked, hackedBlocked, ok","description_kind":"plain","computed":true},"support_level":{"type":"string","description":"Dedicated server support level (critical, fastpath, gs, pro)","description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true},"vnis":{"type":["list",["object",{"enabled":"bool","mode":"string","name":"string","nics":["list","string"],"server_name":"string","uuid":"string","vrack":"string"}]],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_dedicated_server_boots":{"version":0,"block":{"attributes":{"boot_type":{"type":"string","description":"Filter the value of bootType property","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kernel":{"type":"string","description":"Filter the value of kernel property","description_kind":"plain","optional":true},"result":{"type":["list","number"],"description":"Server compatibles netboots ids","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"The internal name of your dedicated server.","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_dedicated_server_specifications_hardware":{"version":0,"block":{"attributes":{"boot_mode":{"type":"string","description":"Server boot mode","description_kind":"markdown","computed":true},"cores_per_processor":{"type":"number","description":"number of cores per processor","description_kind":"markdown","computed":true},"default_hardware_raid_size":{"nested_type":{"attributes":{"unit":{"type":"string","description_kind":"plain","computed":true},"value":{"type":"number","description_kind":"plain","computed":true}},"nesting_mode":"single"},"description":"Default hardware raid size for this server","description_kind":"markdown","computed":true},"default_hardware_raid_type":{"type":"string","description":"Default hardware raid type configured on this server","description_kind":"markdown","computed":true},"description":{"type":"string","description":"commercial name of this server","description_kind":"markdown","computed":true},"disk_groups":{"nested_type":{"attributes":{"default_hardware_raid_size":{"nested_type":{"attributes":{"unit":{"type":"string","description_kind":"plain","computed":true},"value":{"type":"number","description_kind":"plain","computed":true}},"nesting_mode":"single"},"description":"default hardware raid size for this disk group","description_kind":"markdown","computed":true},"default_hardware_raid_type":{"type":"string","description":"default hardware raid type for this disk group","description_kind":"markdown","computed":true},"description":{"type":"string","description":"human readable description of this disk group","description_kind":"markdown","computed":true},"disk_group_id":{"type":"number","description":"identifier of this disk group","description_kind":"markdown","computed":true},"disk_size":{"nested_type":{"attributes":{"unit":{"type":"string","description_kind":"plain","computed":true},"value":{"type":"number","description_kind":"plain","computed":true}},"nesting_mode":"single"},"description":"disk capacity","description_kind":"markdown","computed":true},"disk_type":{"type":"string","description":"type of the disk (SSD, SATA, SAS, ...)","description_kind":"markdown","computed":true},"number_of_disks":{"type":"number","description":"number of disks in this group","description_kind":"markdown","computed":true},"raid_controller":{"type":"string","description":"raid controller, if any, managing this group of disks","description_kind":"markdown","computed":true}},"nesting_mode":"list"},"description":"details about the groups of disks in the server","description_kind":"markdown","computed":true},"expansion_cards":{"nested_type":{"attributes":{"description":{"type":"string","description":"expansion card description","description_kind":"markdown","computed":true},"type":{"type":"string","description":"Expansion card type enum","description_kind":"markdown","computed":true}},"nesting_mode":"list"},"description":"details about the server's expansion cards","description_kind":"markdown","computed":true},"form_factor":{"type":"string","description":"Server form factor","description_kind":"markdown","computed":true},"memory_size":{"nested_type":{"attributes":{"unit":{"type":"string","description_kind":"plain","computed":true},"value":{"type":"number","description_kind":"plain","computed":true}},"nesting_mode":"single"},"description":"ram capacity","description_kind":"markdown","computed":true},"motherboard":{"type":"string","description":"server motherboard","description_kind":"markdown","computed":true},"number_of_processors":{"type":"number","description":"number of processors in this dedicated server","description_kind":"markdown","computed":true},"processor_architecture":{"type":"string","description":"processor architecture bit","description_kind":"markdown","computed":true},"processor_name":{"type":"string","description":"processor name","description_kind":"markdown","computed":true},"service_name":{"type":"string","description":"The internal name of your dedicated server","description_kind":"markdown","required":true},"threads_per_processor":{"type":"number","description":"number of threads per processor","description_kind":"markdown","computed":true},"usb_keys":{"nested_type":{"attributes":{"unit":{"type":"string","description_kind":"plain","computed":true},"value":{"type":"number","description_kind":"plain","computed":true}},"nesting_mode":"list"},"description":"Capacity of the USB keys installed on your server, if any","description_kind":"markdown","computed":true}},"description_kind":"plain"}},"ovh_dedicated_servers":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"result":{"type":["list","string"],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_domain_zone":{"version":0,"block":{"attributes":{"dnssec_supported":{"type":"bool","description_kind":"plain","computed":true},"has_dns_anycast":{"type":"bool","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"last_update":{"type":"string","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true},"name_servers":{"type":["set","string"],"description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_hosting_privatedatabase":{"version":0,"block":{"attributes":{"cpu":{"type":"number","description":"Number of CPU on your private database","description_kind":"plain","computed":true},"datacenter":{"type":"string","description":"Datacenter where this private database is located","description_kind":"plain","computed":true},"display_name":{"type":"string","description":"Name displayed in customer panel for your private database","description_kind":"plain","computed":true},"hostname":{"type":"string","description":"Private database hostname","description_kind":"plain","computed":true},"hostname_ftp":{"type":"string","description":"Private database FTP hostname","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"infrastructure":{"type":"string","description":"Infrastructure where service was stored","description_kind":"plain","computed":true},"offer":{"type":"string","description":"Type of the private database offer","description_kind":"plain","computed":true},"port":{"type":"number","description":"Private database service port","description_kind":"plain","computed":true},"port_ftp":{"type":"number","description":"Private database FTP port","description_kind":"plain","computed":true},"quota_size":{"type":"number","description":"Space allowed (in MB) on your private database","description_kind":"plain","computed":true},"quota_used":{"type":"number","description":"Space used (in MB) on your private database","description_kind":"plain","computed":true},"ram":{"type":"number","description":"Amount of ram (in MB) on your private database","description_kind":"plain","computed":true},"server":{"type":"string","description":"Private database server name","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"state":{"type":"string","description":"Private database state","description_kind":"plain","computed":true},"type":{"type":"string","description":"Private database type","description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true},"version":{"type":"string","description":"Private database available versions","description_kind":"plain","computed":true},"version_label":{"type":"string","description":"Private database version label","description_kind":"plain","computed":true},"version_number":{"type":"number","description":"Private database version number","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_hosting_privatedatabase_database":{"version":0,"block":{"attributes":{"backup_time":{"type":"string","description":"Time of the next backup (every day)","description_kind":"plain","computed":true},"creation_date":{"type":"string","description":"Creation date of the database","description_kind":"plain","computed":true},"database_name":{"type":"string","description":"Database name","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"quota_used":{"type":"number","description":"Space used by the database (in MB)","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"The internal name of your private database","description_kind":"plain","required":true},"users":{"type":["set",["object",{"grant_type":"string","user_name":"string"}]],"description":"Users granted to this database","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_hosting_privatedatabase_user":{"version":0,"block":{"attributes":{"creation_date":{"type":"string","description":"Creation date of the user","description_kind":"plain","computed":true},"databases":{"type":["set",["object",{"database_name":"string","grant_type":"string"}]],"description":"Databases granted for this user","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"The internal name of your private database","description_kind":"plain","required":true},"user_name":{"type":"string","description":"User name used to connect to your databases","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_hosting_privatedatabase_user_grant":{"version":0,"block":{"attributes":{"creation_date":{"type":"string","description":"Creation date of the user","description_kind":"plain","computed":true},"database_name":{"type":"string","description":"Database name","description_kind":"plain","required":true},"grant":{"type":"string","description":"Grant name","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"The internal name of your private database","description_kind":"plain","required":true},"user_name":{"type":"string","description":"User name used to connect to your databases","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_hosting_privatedatabase_whitelist":{"version":0,"block":{"attributes":{"creation_date":{"type":"string","description":"Creation date of this whitelist","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip":{"type":"string","description":"The whitelisted IP in your instance","description_kind":"plain","optional":true},"last_update":{"type":"string","description":"The last update date of this whitelist","description_kind":"plain","computed":true},"name":{"type":"string","description":"Custom name for your Whitelisted IP","description_kind":"plain","computed":true},"service":{"type":"bool","description":"Authorize this IP to access service port","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"The internal name of your private database","description_kind":"plain","required":true},"sftp":{"type":"bool","description":"Authorize this IP to access SFTP port","description_kind":"plain","computed":true},"status":{"type":"string","description":"Whitelist status","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_iam_permissions_group":{"version":0,"block":{"attributes":{"allow":{"type":["set","string"],"description_kind":"plain","optional":true},"created_at":{"type":"string","description_kind":"plain","computed":true},"deny":{"type":["set","string"],"description_kind":"plain","optional":true},"description":{"type":"string","description_kind":"plain","optional":true},"except":{"type":["set","string"],"description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","computed":true},"owner":{"type":"string","description_kind":"plain","computed":true},"updated_at":{"type":"string","description_kind":"plain","optional":true,"computed":true},"urn":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_iam_permissions_groups":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"urns":{"type":["set","string"],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_iam_policies":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"policies":{"type":["set","string"],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_iam_policy":{"version":0,"block":{"attributes":{"allow":{"type":["set","string"],"description_kind":"plain","optional":true},"created_at":{"type":"string","description_kind":"plain","computed":true},"deny":{"type":["set","string"],"description_kind":"plain","optional":true},"description":{"type":"string","description_kind":"plain","optional":true},"except":{"type":["set","string"],"description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","required":true},"identities":{"type":["set","string"],"description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","computed":true},"owner":{"type":"string","description_kind":"plain","computed":true},"permissions_groups":{"type":["set","string"],"description_kind":"plain","optional":true},"read_only":{"type":"bool","description_kind":"plain","computed":true},"resources":{"type":["set","string"],"description_kind":"plain","computed":true},"updated_at":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_iam_reference_actions":{"version":0,"block":{"attributes":{"actions":{"type":["set",["object",{"action":"string","categories":["set","string"],"description":"string","resource_type":"string"}]],"description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"type":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_iam_reference_resource_type":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"types":{"type":["set","string"],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_iam_resource_group":{"version":0,"block":{"attributes":{"created_at":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","required":true},"name":{"type":"string","description_kind":"plain","computed":true},"owner":{"type":"string","description_kind":"plain","computed":true},"read_only":{"type":"bool","description_kind":"plain","computed":true},"resources":{"type":["set","string"],"description_kind":"plain","computed":true},"updated_at":{"type":"string","description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_iam_resource_groups":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"resource_groups":{"type":["set","string"],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_ip_service":{"version":0,"block":{"attributes":{"can_be_terminated":{"type":"bool","description_kind":"plain","computed":true},"country":{"type":"string","description_kind":"plain","computed":true},"description":{"type":"string","description":"Custom description on your ip","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip":{"type":"string","description_kind":"plain","computed":true},"organisation_id":{"type":"string","description":"IP block organisation Id","description_kind":"plain","computed":true},"routed_to":{"type":["list",["object",{"service_name":"string"}]],"description":"Routage information","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"The service name","description_kind":"plain","required":true},"type":{"type":"string","description":"Possible values for ip type","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_iploadbalancing":{"version":0,"block":{"attributes":{"display_name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_loadbalancing":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ipv4":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ipv6":{"type":"string","description_kind":"plain","optional":true,"computed":true},"metrics_token":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"offer":{"type":"string","description_kind":"plain","optional":true,"computed":true},"orderable_zone":{"type":["set",["object",{"name":"string","plan_code":"string"}]],"description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ssl_configuration":{"type":"string","description_kind":"plain","optional":true,"computed":true},"state":{"type":"string","description_kind":"plain","optional":true,"computed":true},"urn":{"type":"string","description_kind":"plain","computed":true},"vrack_eligibility":{"type":"bool","description_kind":"plain","optional":true,"computed":true},"vrack_name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"zone":{"type":["set","string"],"description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"ovh_iploadbalancing_vrack_network":{"version":0,"block":{"attributes":{"display_name":{"type":"string","description":"Human readable name for your vrack network","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"nat_ip":{"type":"string","description":"An IP block used as a pool of IPs by this Load Balancer to connect to the servers in this private network. The blck must be in the private network and reserved for the Load Balancer","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"The internal name of your IPloadbalancer","description_kind":"plain","required":true},"subnet":{"type":"string","description":"IP block of the private network in the vRack","description_kind":"plain","computed":true},"vlan":{"type":"number","description":"VLAN of the private network in the vRack. 0 if the private network is not in a VLAN","description_kind":"plain","computed":true},"vrack_network_id":{"type":"number","description":"Internal Load Balancer identifier of the vRack private network","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_iploadbalancing_vrack_networks":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"result":{"type":["list","number"],"description_kind":"plain","computed":true},"service_name":{"type":"string","description":"The internal name of your iploadbalancer.","description_kind":"plain","required":true},"subnet":{"type":"string","description":"Filters on subnet","description_kind":"plain","optional":true},"vlan_id":{"type":"number","description":"Filters on vlan id","description_kind":"plain","optional":true}},"description_kind":"plain"}},"ovh_me":{"version":0,"block":{"attributes":{"address":{"type":"string","description":"Address of nichandle","description_kind":"plain","computed":true},"area":{"type":"string","description":"Area of nichandle","description_kind":"plain","computed":true},"birth_city":{"type":"string","description":"City of birth","description_kind":"plain","computed":true},"birth_day":{"type":"string","description":"Birth date","description_kind":"plain","computed":true},"city":{"type":"string","description":"City of nichandle","description_kind":"plain","computed":true},"company_national_identification_number":{"type":"string","description":"Company National Identification Number","description_kind":"plain","computed":true},"corporation_type":{"type":"string","description":"Corporation type","description_kind":"plain","computed":true},"country":{"type":"string","description":"Customer country","description_kind":"plain","computed":true},"currency":{"type":["list",["object",{"code":"string","symbol":"string"}]],"description":"Customer currency","description_kind":"plain","computed":true},"customer_code":{"type":"string","description":"Your customer code (a numerical value used for identification when contacting support via phone call)","description_kind":"plain","computed":true},"email":{"type":"string","description":"Email address","description_kind":"plain","computed":true},"fax":{"type":"string","description":"Fax number","description_kind":"plain","computed":true},"firstname":{"type":"string","description":"First name","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"italian_sdi":{"type":"string","description":"Italian SDI","description_kind":"plain","computed":true},"language":{"type":"string","description":"Language","description_kind":"plain","computed":true},"legalform":{"type":"string","description":"Customer legal form","description_kind":"plain","computed":true},"name":{"type":"string","description":"Customer name","description_kind":"plain","computed":true},"national_identification_number":{"type":"string","description":"National Identification Number","description_kind":"plain","computed":true},"nichandle":{"type":"string","description":"Customer identifier","description_kind":"plain","computed":true},"organisation":{"type":"string","description":"Name of organisation","description_kind":"plain","computed":true},"ovh_company":{"type":"string","description":"OVH subsidiary","description_kind":"plain","computed":true},"ovh_subsidiary":{"type":"string","description":"OVH subsidiary","description_kind":"plain","computed":true},"phone":{"type":"string","description":"Phone number","description_kind":"plain","computed":true},"phone_country":{"type":"string","description":"Phone number's country code","description_kind":"plain","computed":true},"sex":{"type":"string","description":"Gender","description_kind":"plain","computed":true},"spare_email":{"type":"string","description":"Spare email","description_kind":"plain","computed":true},"state":{"type":"string","description":"Nichandle state","description_kind":"plain","computed":true},"urn":{"type":"string","description":"Identity URN of the account","description_kind":"plain","computed":true},"vat":{"type":"string","description":"VAT number","description_kind":"plain","computed":true},"zip":{"type":"string","description":"Zipcode","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_me_api_oauth2_client":{"version":0,"block":{"attributes":{"callback_urls":{"type":["list","string"],"description":"Callback URLs of the applications using this oauth2 client. Required if using the AUTHORIZATION_CODE flow.","description_kind":"plain","computed":true},"client_id":{"type":"string","description":"Client ID for the oauth2 client, generated during the resource creation.","description_kind":"plain","required":true},"description":{"type":"string","description":"A description of your oauth2 client.","description_kind":"plain","computed":true},"flow":{"type":"string","description":"OAuth2 flow type implemented for this oauth2 client. Can be either AUTHORIZATION_CODE or CLIENT_CREDENTIALS","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"identity":{"type":"string","description":"URN that will allow you to associate this oauth2 client with an access policy.","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_me_api_oauth2_clients":{"version":0,"block":{"attributes":{"client_ids":{"type":["set","string"],"description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"ovh_me_identity_group":{"version":0,"block":{"attributes":{"creation":{"type":"string","description_kind":"plain","computed":true},"default_group":{"type":"bool","description_kind":"plain","computed":true},"description":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"last_update":{"type":"string","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true},"role":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_me_identity_groups":{"version":0,"block":{"attributes":{"groups":{"type":["set","string"],"description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"ovh_me_identity_user":{"version":0,"block":{"attributes":{"creation":{"type":"string","description":"Creation date of this user","description_kind":"plain","computed":true},"description":{"type":"string","description":"User description","description_kind":"plain","computed":true},"email":{"type":"string","description":"User's email","description_kind":"plain","computed":true},"group":{"type":"string","description":"User's group","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"last_update":{"type":"string","description":"Last update of this user","description_kind":"plain","computed":true},"login":{"type":"string","description":"User's login suffix","description_kind":"plain","computed":true},"password_last_update":{"type":"string","description":"When the user changed his password for the last time","description_kind":"plain","computed":true},"status":{"type":"string","description":"Current user's status","description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true},"user":{"type":"string","description":"User's login","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_me_identity_users":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"users":{"type":["set","string"],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_me_installation_template":{"version":0,"block":{"attributes":{"available_languages":{"type":["list","string"],"description":"List of all language available for this template","description_kind":"plain","computed":true},"beta":{"type":"bool","description":"This distribution is new and, although tested and functional, may still display odd behaviour","description_kind":"plain","computed":true},"bit_format":{"type":"number","description":"This template bit format (32 or 64)","description_kind":"plain","computed":true},"category":{"type":"string","description":"Category of this template (informative only). (basic, customer, hosting, other, readyToUse, virtualisation)","description_kind":"plain","computed":true},"customization":{"type":["list",["object",{"change_log":"string","custom_hostname":"string","post_installation_script_link":"string","post_installation_script_return":"string","rating":"number","ssh_key_name":"string","use_distribution_kernel":"bool"}]],"description_kind":"plain","computed":true},"default_language":{"type":"string","description":"The default language of this template","description_kind":"plain","computed":true},"deprecated":{"type":"bool","description":"is this distribution deprecated","description_kind":"plain","computed":true},"description":{"type":"string","description":"information about this template","description_kind":"plain","computed":true},"distribution":{"type":"string","description":"the distribution this template is based on","description_kind":"plain","computed":true},"family":{"type":"string","description":"this template family type (bsd,linux,solaris,windows)","description_kind":"plain","computed":true},"filesystems":{"type":["list","string"],"description":"Filesystems available (btrfs,ext3,ext4,ntfs,reiserfs,swap,ufs,xfs,zfs)","description_kind":"plain","computed":true},"hard_raid_configuration":{"type":"bool","description":"This distribution supports hardware raid configuration through the OVH API","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"last_modification":{"type":"string","description":"Date of last modification of the base image","description_kind":"plain","computed":true},"lvm_ready":{"type":"bool","description":"This distribution supports Logical Volumes (Linux LVM)","description_kind":"plain","computed":true},"partition_scheme":{"type":["list",["object",{"hardware_raid":["list",["object",{"disks":["list","string"],"mode":"string","name":"string","step":"number"}]],"name":"string","partition":["list",["object",{"filesystem":"string","mountpoint":"string","order":"number","raid":"string","size":"number","type":"string","volume_name":"string"}]],"priority":"number"}]],"description_kind":"plain","computed":true},"supports_distribution_kernel":{"type":"bool","description":"This distribution supports installation using the distribution's native kernel instead of the recommended OVH kernel","description_kind":"plain","computed":true},"supports_rtm":{"type":"bool","description":"This distribution supports RTM software","description_kind":"plain","computed":true},"supports_sql_server":{"type":"bool","description":"This distribution supports the microsoft SQL server","description_kind":"plain","computed":true},"template_name":{"type":"string","description":"This template name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_me_installation_templates":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"result":{"type":["list","string"],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_me_paymentmean_bankaccount":{"version":0,"block":{"attributes":{"default":{"type":"bool","description_kind":"plain","computed":true},"description":{"type":"string","description_kind":"plain","computed":true},"description_regexp":{"type":"string","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"state":{"type":"string","description_kind":"plain","optional":true,"computed":true},"use_default":{"type":"bool","description_kind":"plain","optional":true},"use_oldest":{"type":"bool","description_kind":"plain","optional":true}},"description_kind":"plain","deprecated":true}},"ovh_me_paymentmean_creditcard":{"version":0,"block":{"attributes":{"default":{"type":"bool","description_kind":"plain","computed":true},"description":{"type":"string","description_kind":"plain","computed":true},"description_regexp":{"type":"string","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"state":{"type":"string","description_kind":"plain","computed":true},"states":{"type":["set","string"],"description_kind":"plain","optional":true},"use_default":{"type":"bool","description_kind":"plain","optional":true},"use_last_to_expire":{"type":"bool","description_kind":"plain","optional":true}},"description_kind":"plain","deprecated":true}},"ovh_me_ssh_key":{"version":0,"block":{"attributes":{"default":{"type":"bool","description":"True when this public Ssh key is used for rescue mode and reinstallations","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"key":{"type":"string","description":"ASCII encoded public Ssh key","description_kind":"plain","computed":true},"key_name":{"type":"string","description":"Name of this public Ssh key","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_me_ssh_keys":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"names":{"type":["set","string"],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_order_cart":{"version":0,"block":{"attributes":{"assign":{"type":"bool","description":"Assign a shopping cart to a logged in client","description_kind":"plain","optional":true},"cart_id":{"type":"string","description":"Cart identifier","description_kind":"plain","computed":true},"description":{"type":"string","description":"Description of your cart","description_kind":"plain","optional":true},"expire":{"type":"string","description":"Expiration time (format: 2006-01-02T15:04:05Z07:00)","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"items":{"type":["list","number"],"description":"Items of your cart","description_kind":"plain","computed":true},"ovh_subsidiary":{"type":"string","description":"Ovh Subsidiary","description_kind":"plain","required":true},"read_only":{"type":"bool","description":"Indicates if the cart has already been validated","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_order_cart_product":{"version":0,"block":{"attributes":{"cart_id":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"product":{"type":"string","description":"Product","description_kind":"plain","required":true},"result":{"type":["list",["object",{"plan_code":"string","prices":["list",["object",{"capacities":["list","string"],"description":"string","duration":"string","interval":"number","maximum_quantity":"number","maximum_repeat":"number","minimum_quantity":"number","minimum_repeat":"number","price":["list",["object",{"currency_code":"string","text":"string","value":"number"}]],"price_in_ucents":"number","pricing_mode":"string","pricing_type":"string"}]],"product_name":"string","product_type":"string"}]],"description":"List of representations of a generic product","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_order_cart_product_options":{"version":0,"block":{"attributes":{"cart_id":{"type":"string","description_kind":"plain","required":true},"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"plan_code":{"type":"string","description":"Product offer identifier","description_kind":"plain","required":true},"product":{"type":"string","description":"Product","description_kind":"plain","required":true},"result":{"type":["list",["object",{"exclusive":"bool","family":"string","mandatory":"bool","plan_code":"string","prices":["list",["object",{"capacities":["list","string"],"description":"string","duration":"string","interval":"number","maximum_quantity":"number","maximum_repeat":"number","minimum_quantity":"number","minimum_repeat":"number","price":["list",["object",{"currency_code":"string","text":"string","value":"number"}]],"price_in_ucents":"number","pricing_mode":"string","pricing_type":"string"}]],"product_name":"string","product_type":"string"}]],"description":"List of representations of a generic product","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_order_cart_product_options_plan":{"version":0,"block":{"attributes":{"cart_id":{"type":"string","description_kind":"plain","required":true},"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"exclusive":{"type":"bool","description":"Define if options of this family are exclusive with each other","description_kind":"plain","computed":true},"family":{"type":"string","description":"Option family","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"mandatory":{"type":"bool","description":"Define if an option of this family is mandatory","description_kind":"plain","computed":true},"options_plan_code":{"type":"string","description_kind":"plain","required":true},"plan_code":{"type":"string","description_kind":"plain","required":true},"price_capacity":{"type":"string","description":"Capacity of the pricing (type of pricing)","description_kind":"plain","required":true},"prices":{"type":["list",["object",{"capacities":["list","string"],"description":"string","duration":"string","interval":"number","maximum_quantity":"number","maximum_repeat":"number","minimum_quantity":"number","minimum_repeat":"number","price":["list",["object",{"currency_code":"string","text":"string","value":"number"}]],"price_in_ucents":"number","pricing_mode":"string","pricing_type":"string"}]],"description":"Prices of the product offer","description_kind":"plain","computed":true},"product":{"type":"string","description":"Product","description_kind":"plain","required":true},"product_name":{"type":"string","description":"Name of the product","description_kind":"plain","computed":true},"product_type":{"type":"string","description":"Product type","description_kind":"plain","computed":true},"selected_price":{"type":["list",["object",{"capacities":["list","string"],"description":"string","duration":"string","interval":"number","maximum_quantity":"number","maximum_repeat":"number","minimum_quantity":"number","minimum_repeat":"number","price":["list",["object",{"currency_code":"string","text":"string","value":"number"}]],"price_in_ucents":"number","pricing_mode":"string","pricing_type":"string"}]],"description":"Selected Price according to capacity","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_order_cart_product_plan":{"version":0,"block":{"attributes":{"cart_id":{"type":"string","description_kind":"plain","required":true},"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"plan_code":{"type":"string","description_kind":"plain","required":true},"price_capacity":{"type":"string","description":"Capacity of the pricing (type of pricing)","description_kind":"plain","required":true},"prices":{"type":["list",["object",{"capacities":["list","string"],"description":"string","duration":"string","interval":"number","maximum_quantity":"number","maximum_repeat":"number","minimum_quantity":"number","minimum_repeat":"number","price":["list",["object",{"currency_code":"string","text":"string","value":"number"}]],"price_in_ucents":"number","pricing_mode":"string","pricing_type":"string"}]],"description":"Prices of the product offer","description_kind":"plain","computed":true},"product":{"type":"string","description":"Product","description_kind":"plain","required":true},"product_name":{"type":"string","description":"Name of the product","description_kind":"plain","computed":true},"product_type":{"type":"string","description":"Product type","description_kind":"plain","computed":true},"selected_price":{"type":["list",["object",{"capacities":["list","string"],"description":"string","duration":"string","interval":"number","maximum_quantity":"number","maximum_repeat":"number","minimum_quantity":"number","minimum_repeat":"number","price":["list",["object",{"currency_code":"string","text":"string","value":"number"}]],"price_in_ucents":"number","pricing_mode":"string","pricing_type":"string"}]],"description":"Selected Price according to capacity","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_vps":{"version":0,"block":{"attributes":{"cluster":{"type":"string","description_kind":"plain","computed":true},"datacenter":{"type":["map","string"],"description_kind":"plain","computed":true},"displayname":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ips":{"type":["set","string"],"description_kind":"plain","computed":true},"keymap":{"type":"string","description_kind":"plain","computed":true},"memory":{"type":"number","description_kind":"plain","computed":true},"model":{"type":["map","string"],"description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","computed":true},"netbootmode":{"type":"string","description_kind":"plain","computed":true},"offertype":{"type":"string","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"slamonitoring":{"type":"bool","description_kind":"plain","computed":true},"state":{"type":"string","description_kind":"plain","computed":true},"type":{"type":"string","description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true},"vcore":{"type":"number","description_kind":"plain","computed":true},"zone":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_vpss":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"result":{"type":["list","string"],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_vracks":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"result":{"type":["list","string"],"description_kind":"plain","computed":true}},"description_kind":"plain"}}}}}} +{"format_version":"1.0","provider_schemas":{"registry.terraform.io/ovh/ovh":{"provider":{"version":0,"block":{"attributes":{"access_token":{"type":"string","description":"The OVH API Access Token","description_kind":"plain","optional":true},"application_key":{"type":"string","description":"The OVH API Application Key","description_kind":"plain","optional":true},"application_secret":{"type":"string","description":"The OVH API Application Secret","description_kind":"plain","optional":true},"client_id":{"type":"string","description":"OAuth 2.0 application's ID","description_kind":"plain","optional":true},"client_secret":{"type":"string","description":"OAuth 2.0 application's secret","description_kind":"plain","optional":true},"consumer_key":{"type":"string","description":"The OVH API Consumer Key","description_kind":"plain","optional":true},"endpoint":{"type":"string","description":"The OVH API endpoint to target (ex: \"ovh-eu\")","description_kind":"plain","optional":true}},"description_kind":"plain"}},"resource_schemas":{"ovh_cloud_project":{"version":0,"block":{"attributes":{"access":{"type":"string","description_kind":"plain","computed":true},"description":{"type":"string","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ovh_subsidiary":{"type":"string","description":"Ovh Subsidiary","description_kind":"plain","required":true},"payment_mean":{"type":"string","description":"Ovh payment mode","description_kind":"plain","deprecated":true,"optional":true},"project_id":{"type":"string","description_kind":"plain","computed":true},"project_name":{"type":"string","description_kind":"plain","computed":true},"status":{"type":"string","description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true}},"block_types":{"order":{"nesting_mode":"list","block":{"attributes":{"date":{"type":"string","description":"date","description_kind":"plain","computed":true},"details":{"type":["list",["object",{"description":"string","domain":"string","order_detail_id":"number","quantity":"string"}]],"description":"Information about a Bill entry","description_kind":"plain","computed":true},"expiration_date":{"type":"string","description":"expiration date","description_kind":"plain","computed":true},"order_id":{"type":"number","description":"order id","description_kind":"plain","computed":true}},"description":"Details about an Order","description_kind":"plain"}},"plan":{"nesting_mode":"list","block":{"attributes":{"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"duration":{"type":"string","description":"duration","description_kind":"plain","required":true},"plan_code":{"type":"string","description":"Plan code","description_kind":"plain","required":true},"pricing_mode":{"type":"string","description":"Pricing model identifier","description_kind":"plain","required":true}},"block_types":{"configuration":{"nesting_mode":"list","block":{"attributes":{"label":{"type":"string","description":"Identifier of the resource","description_kind":"plain","required":true},"value":{"type":"string","description":"Path to the resource in API.OVH.COM","description_kind":"plain","required":true}},"description":"Representation of a configuration item for personalizing product","description_kind":"plain"}}},"description":"Product Plan to order","description_kind":"plain"},"min_items":1,"max_items":1},"plan_option":{"nesting_mode":"list","block":{"attributes":{"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"duration":{"type":"string","description":"duration","description_kind":"plain","required":true},"plan_code":{"type":"string","description":"Plan code","description_kind":"plain","required":true},"pricing_mode":{"type":"string","description":"Pricing model identifier","description_kind":"plain","required":true}},"block_types":{"configuration":{"nesting_mode":"list","block":{"attributes":{"label":{"type":"string","description":"Identifier of the resource","description_kind":"plain","required":true},"value":{"type":"string","description":"Path to the resource in API.OVH.COM","description_kind":"plain","required":true}},"description":"Representation of a configuration item for personalizing product","description_kind":"plain"}}},"description":"Product Plan to order","description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_alerting":{"version":0,"block":{"attributes":{"creation_date":{"type":"string","description":"Alerting creation date","description_kind":"markdown","computed":true},"delay":{"type":"number","description":"Possible values for delay between two alerts in seconds","description_kind":"markdown","required":true},"email":{"type":"string","description":"Email to contact","description_kind":"markdown","required":true},"formatted_monthly_threshold":{"nested_type":{"attributes":{"currency_code":{"type":"string","description_kind":"plain","computed":true},"text":{"type":"string","description_kind":"plain","computed":true},"value":{"type":"number","description_kind":"plain","computed":true}},"nesting_mode":"single"},"description":"Formatted monthly threshold for this alerting","description_kind":"markdown","computed":true},"id":{"type":"string","description":"Alerting unique UUID","description_kind":"markdown","computed":true},"monthly_threshold":{"type":"number","description":"Monthly threshold for this alerting in currency","description_kind":"markdown","required":true},"service_name":{"type":"string","description":"The project id","description_kind":"markdown","required":true}},"description_kind":"plain"}},"ovh_cloud_project_containerregistry":{"version":0,"block":{"attributes":{"created_at":{"type":"string","description":"Registry creation date","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Registry name","description_kind":"plain","required":true},"plan":{"type":["list",["object",{"code":"string","created_at":"string","features":["list",["object",{"vulnerability":"bool"}]],"id":"string","name":"string","registry_limits":["list",["object",{"image_storage":"number","parallel_request":"number"}]],"updated_at":"string"}]],"description":"Plan of the registry","description_kind":"plain","computed":true},"plan_id":{"type":"string","description":"Plan ID of the registry.","description_kind":"plain","optional":true,"computed":true},"project_id":{"type":"string","description":"Project ID of your registry","description_kind":"plain","computed":true},"region":{"type":"string","description":"Region of the registry.","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"size":{"type":"number","description":"Current size of the registry (bytes)","description_kind":"plain","computed":true},"status":{"type":"string","description":"Registry status","description_kind":"plain","computed":true},"updated_at":{"type":"string","description":"Registry last update date","description_kind":"plain","computed":true},"url":{"type":"string","description":"Access url of the registry","description_kind":"plain","computed":true},"version":{"type":"string","description":"Version of your registry","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_containerregistry_ip_restrictions_management":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_restrictions":{"type":["set",["map","string"]],"description":"List your IP restrictions applied on artifact manager component","description_kind":"plain","required":true},"registry_id":{"type":"string","description":"RegistryID","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_containerregistry_ip_restrictions_registry":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_restrictions":{"type":["set",["map","string"]],"description":"List your IP restrictions applied on artifact manager component","description_kind":"plain","required":true},"registry_id":{"type":"string","description":"RegistryID","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_containerregistry_oidc":{"version":0,"block":{"attributes":{"delete_users":{"type":"bool","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"oidc_admin_group":{"type":"string","description_kind":"plain","optional":true},"oidc_auto_onboard":{"type":"bool","description_kind":"plain","optional":true},"oidc_client_id":{"type":"string","description_kind":"plain","required":true},"oidc_client_secret":{"type":"string","description_kind":"plain","required":true,"sensitive":true},"oidc_endpoint":{"type":"string","description_kind":"plain","required":true},"oidc_groups_claim":{"type":"string","description_kind":"plain","optional":true},"oidc_name":{"type":"string","description_kind":"plain","required":true},"oidc_scope":{"type":"string","description_kind":"plain","required":true},"oidc_user_claim":{"type":"string","description_kind":"plain","optional":true},"oidc_verify_cert":{"type":"bool","description_kind":"plain","optional":true},"registry_id":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"default":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_containerregistry_user":{"version":0,"block":{"attributes":{"email":{"type":"string","description":"User email.","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"login":{"type":"string","description":"Registry name","description_kind":"plain","required":true},"password":{"type":"string","description":"User password","description_kind":"plain","computed":true,"sensitive":true},"registry_id":{"type":"string","description":"RegistryID","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true},"user":{"type":"string","description":"User name","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database":{"version":0,"block":{"attributes":{"advanced_configuration":{"type":["map","string"],"description":"Advanced configuration key / value","description_kind":"plain","optional":true,"computed":true},"backup_regions":{"type":["list","string"],"description":"List of region where backups are pushed. Not more than 1 regions for MongoDB. Not more than 2 regions for the other engines with one being the same as the nodes[].region field","description_kind":"plain","optional":true,"computed":true},"backup_time":{"type":"string","description":"Time on which backups start every day","description_kind":"plain","optional":true,"computed":true},"created_at":{"type":"string","description":"Date of the creation of the cluster","description_kind":"plain","computed":true},"description":{"type":"string","description":"Description of the cluster","description_kind":"plain","optional":true},"disk_size":{"type":"number","description":"Disk size attributes of the cluster","description_kind":"plain","optional":true,"computed":true},"disk_type":{"type":"string","description":"Disk type attributes of the cluster","description_kind":"plain","computed":true},"endpoints":{"type":["list",["object",{"component":"string","domain":"string","path":"string","port":"number","scheme":"string","ssl":"bool","ssl_mode":"string","uri":"string"}]],"description":"List of all endpoints of the service","description_kind":"plain","computed":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"flavor":{"type":"string","description":"The node flavor used for this cluster","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kafka_rest_api":{"type":"bool","description":"Defines whether the REST API is enabled on a Kafka cluster","description_kind":"plain","optional":true},"kafka_schema_registry":{"type":"bool","description":"Defines whether the schema registry is enabled on a Kafka cluster","description_kind":"plain","optional":true},"maintenance_time":{"type":"string","description":"Time on which maintenances can start every day","description_kind":"plain","computed":true},"network_type":{"type":"string","description":"Type of network of the cluster","description_kind":"plain","computed":true},"opensearch_acls_enabled":{"type":"bool","description":"Defines whether the ACLs are enabled on an Opensearch cluster","description_kind":"plain","optional":true},"plan":{"type":"string","description":"Plan of the cluster","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the cluster","description_kind":"plain","computed":true},"version":{"type":"string","description":"Version of the engine deployed on the cluster","description_kind":"plain","required":true}},"block_types":{"ip_restrictions":{"nesting_mode":"set","block":{"attributes":{"description":{"type":"string","description":"Description of the IP restriction","description_kind":"plain","optional":true},"ip":{"type":"string","description":"Authorized IP","description_kind":"plain","optional":true},"status":{"type":"string","description":"Current status of the IP restriction","description_kind":"plain","computed":true}},"description":"IP Blocks authorized to access to the cluster","description_kind":"plain"}},"nodes":{"nesting_mode":"list","block":{"attributes":{"network_id":{"type":"string","description":"Private network ID in which the node is. It's the regional openstackId of the private network.","description_kind":"plain","optional":true},"region":{"type":"string","description":"Region of the node","description_kind":"plain","required":true},"subnet_id":{"type":"string","description":"Private subnet ID in which the node is","description_kind":"plain","optional":true}},"description":"List of nodes composing the service","description_kind":"plain"},"min_items":1},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_database":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"default":{"type":"bool","description":"Defines if the database has been created by default","description_kind":"plain","computed":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Database name","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_integration":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"destination_service_id":{"type":"string","description":"ID of the destination service","description_kind":"plain","required":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"parameters":{"type":["map","string"],"description":"Parameters for the integration","description_kind":"plain","optional":true},"service_name":{"type":"string","description_kind":"plain","required":true},"source_service_id":{"type":"string","description":"ID of the source service","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the integration","description_kind":"plain","computed":true},"type":{"type":"string","description":"Type of the integration","description_kind":"plain","optional":true,"computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_ip_restriction":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"description":{"type":"string","description":"Description of the IP restriction","description_kind":"plain","optional":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip":{"type":"string","description":"Authorized IP","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the IP restriction","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain","deprecated":true}},"ovh_cloud_project_database_kafka_acl":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"permission":{"type":"string","description":"Permission to give to this username on this topic","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"topic":{"type":"string","description":"Topic affected by this acl","description_kind":"plain","required":true},"username":{"type":"string","description":"Username affected by this acl","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_kafka_schemaregistryacl":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"permission":{"type":"string","description":"Permission to give to this username on this resource","description_kind":"plain","required":true},"resource":{"type":"string","description":"Resource affected by this acl","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"username":{"type":"string","description":"Username affected by this acl","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_kafka_topic":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"min_insync_replicas":{"type":"number","description":"Minimum insync replica accepted for this topic","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the topic","description_kind":"plain","required":true},"partitions":{"type":"number","description":"Number of partitions for this topic","description_kind":"plain","optional":true,"computed":true},"replication":{"type":"number","description":"Number of replication for this topic","description_kind":"plain","optional":true,"computed":true},"retention_bytes":{"type":"number","description":"Number of bytes for the retention of the data for this topic","description_kind":"plain","optional":true,"computed":true},"retention_hours":{"type":"number","description":"Number of hours for the retention of the data for this topic","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_log_subscription":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"created_at":{"type":"string","description":"Creation date of the subscription","description_kind":"plain","computed":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kind":{"type":"string","description":"Log kind name of this subscription","description_kind":"plain","computed":true},"ldp_service_name":{"type":"string","description":"Name of the destination log service","description_kind":"plain","computed":true,"sensitive":true},"operation_id":{"type":"string","description":"Identifier of the operation","description_kind":"plain","computed":true},"resource_name":{"type":"string","description":"Name of subscribed resource, where the logs come from","description_kind":"plain","computed":true},"resource_type":{"type":"string","description":"Type of subscribed resource, where the logs come from","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"stream_id":{"type":"string","description":"Id of the target Log data platform stream","description_kind":"plain","required":true},"updated_at":{"type":"string","description":"Last update date of the subscription","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_m3db_namespace":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the namespace","description_kind":"plain","required":true},"resolution":{"type":"string","description":"Resolution for an aggregated namespace","description_kind":"plain","required":true},"retention_block_data_expiration_duration":{"type":"string","description":"Controls how long we wait before expiring stale data","description_kind":"plain","optional":true},"retention_block_size_duration":{"type":"string","description":"Controls how long to keep a block in memory before flushing to a fileset on disk","description_kind":"plain","optional":true,"computed":true},"retention_buffer_future_duration":{"type":"string","description":"Controls how far into the future writes to the namespace will be accepted","description_kind":"plain","optional":true},"retention_buffer_past_duration":{"type":"string","description":"Controls how far into the past writes to the namespace will be accepted","description_kind":"plain","optional":true},"retention_period_duration":{"type":"string","description":"Controls the duration of time that M3DB will retain data for the namespace","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"snapshot_enabled":{"type":"bool","description":"Defines whether M3db will create snapshot files for this namespace","description_kind":"plain","optional":true},"type":{"type":"string","description":"Type of namespace","description_kind":"plain","computed":true},"writes_to_commit_log_enabled":{"type":"bool","description":"Defines whether M3db will include writes to this namespace in the commit log","description_kind":"plain","optional":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_m3db_user":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"created_at":{"type":"string","description":"Date of the creation of the user","description_kind":"plain","computed":true},"group":{"type":"string","description":"Group of the user","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the user","description_kind":"plain","required":true},"password":{"type":"string","description":"Password of the user","description_kind":"plain","computed":true,"sensitive":true},"password_reset":{"type":"string","description":"Arbitrary string to change to trigger a password update","description_kind":"plain","optional":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the user","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_mongodb_user":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"created_at":{"type":"string","description":"Date of the creation of the user","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the user","description_kind":"plain","required":true},"password":{"type":"string","description":"Password of the user","description_kind":"plain","computed":true,"sensitive":true},"password_reset":{"type":"string","description":"Arbitrary string to change to trigger a password update","description_kind":"plain","optional":true},"roles":{"type":["set","string"],"description":"Roles the user belongs to with the authentication database","description_kind":"plain","optional":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the user","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_opensearch_pattern":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"max_index_count":{"type":"number","description":"Maximum number of index for this pattern","description_kind":"plain","optional":true},"pattern":{"type":"string","description":"Pattern format","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_opensearch_user":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"created_at":{"type":"string","description":"Date of the creation of the user","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the user","description_kind":"plain","required":true},"password":{"type":"string","description":"Password of the user","description_kind":"plain","computed":true,"sensitive":true},"password_reset":{"type":"string","description":"Arbitrary string to change to trigger a password update","description_kind":"plain","optional":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the user","description_kind":"plain","computed":true}},"block_types":{"acls":{"nesting_mode":"set","block":{"attributes":{"pattern":{"type":"string","description":"Pattern of the ACL","description_kind":"plain","required":true},"permission":{"type":"string","description":"Permission of the ACL","description_kind":"plain","required":true}},"description":"Acls of the user","description_kind":"plain"}},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_postgresql_connection_pool":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"database_id":{"type":"string","description":"Database used for the connection pool","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"mode":{"type":"string","description":"Connection mode to the connection pool","description_kind":"plain","required":true},"name":{"type":"string","description":"Name of the connection pool","description_kind":"plain","required":true},"port":{"type":"number","description":"Port of the connection pool","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"size":{"type":"number","description":"Size of the connection pool","description_kind":"plain","required":true},"ssl_mode":{"type":"string","description":"SSL connection mode for the pool","description_kind":"plain","computed":true},"uri":{"type":"string","description":"Connection URI to the pool","description_kind":"plain","computed":true},"user_id":{"type":"string","description":"Database user authorized to connect to the pool, if none all the users are allowed","description_kind":"plain","optional":true,"computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_postgresql_user":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"created_at":{"type":"string","description":"Date of the creation of the user","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the user","description_kind":"plain","required":true},"password":{"type":"string","description":"Password of the user","description_kind":"plain","computed":true,"sensitive":true},"password_reset":{"type":"string","description":"Arbitrary string to change to trigger a password update","description_kind":"plain","optional":true},"roles":{"type":["set","string"],"description":"Roles the user belongs to","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the user","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_redis_user":{"version":0,"block":{"attributes":{"categories":{"type":["set","string"],"description":"Categories of the user","description_kind":"plain","optional":true},"channels":{"type":["set","string"],"description":"Channels of the user","description_kind":"plain","optional":true,"computed":true},"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"commands":{"type":["set","string"],"description":"Commands of the user","description_kind":"plain","optional":true},"created_at":{"type":"string","description":"Date of the creation of the user","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"keys":{"type":["set","string"],"description":"Keys of the user","description_kind":"plain","optional":true},"name":{"type":"string","description":"Name of the user","description_kind":"plain","required":true},"password":{"type":"string","description":"Password of the user","description_kind":"plain","computed":true,"sensitive":true},"password_reset":{"type":"string","description":"Arbitrary string to change to trigger a password update","description_kind":"plain","optional":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the user","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_user":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"created_at":{"type":"string","description":"Date of the creation of the user","description_kind":"plain","computed":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the user","description_kind":"plain","required":true},"password":{"type":"string","description":"Password of the user","description_kind":"plain","computed":true,"sensitive":true},"password_reset":{"type":"string","description":"Arbitrary string to change to trigger a password update","description_kind":"plain","optional":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the user","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_failover_ip_attach":{"version":0,"block":{"attributes":{"block":{"type":"string","description":"IP block","description_kind":"plain","optional":true,"computed":true},"continent_code":{"type":"string","description":"Ip continent","description_kind":"plain","optional":true,"computed":true},"geo_loc":{"type":"string","description":"Ip location","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description":"Ip id","description_kind":"plain","computed":true},"ip":{"type":"string","description":"Ip","description_kind":"plain","optional":true,"computed":true},"progress":{"type":"number","description":"Current operation progress in percent","description_kind":"plain","computed":true},"routed_to":{"type":"string","description":"Instance where ip is routed to","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"The service name","description_kind":"plain","required":true},"status":{"type":"string","description":"Ip status","description_kind":"plain","computed":true},"sub_type":{"type":"string","description":"IP sub type","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_gateway":{"version":0,"block":{"attributes":{"external_information":{"type":["list",["object",{"ips":["list",["object",{"ip":"string","subnet_id":"string"}]],"network_id":"string"}]],"description":"External information of the gateway","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"interfaces":{"type":["list",["object",{"id":"string","ip":"string","network_id":"string","subnet_id":"string"}]],"description":"Interfaces list of the gateway","description_kind":"plain","computed":true},"model":{"type":"string","description_kind":"plain","required":true},"name":{"type":"string","description_kind":"plain","required":true},"network_id":{"type":"string","description_kind":"plain","required":true},"region":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name of the resource representing the id of the cloud project.","description_kind":"plain","required":true},"status":{"type":"string","description_kind":"plain","computed":true},"subnet_id":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_gateway_interface":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"ID of the gateway","description_kind":"plain","required":true},"interface_id":{"type":"string","description":"Interface ID","description_kind":"plain","optional":true,"computed":true},"ip":{"type":"string","description":"IP of the interface","description_kind":"plain","computed":true},"network_id":{"type":"string","description":"Network ID of the interface","description_kind":"plain","computed":true},"region":{"type":"string","description":"Region name","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true},"subnet_id":{"type":"string","description":"Subnet id to add","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_kube":{"version":0,"block":{"attributes":{"control_plane_is_up_to_date":{"type":"bool","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"is_up_to_date":{"type":"bool","description_kind":"plain","computed":true},"kube_proxy_mode":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kubeconfig":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"kubeconfig_attributes":{"type":["list",["object",{"client_certificate":"string","client_key":"string","cluster_ca_certificate":"string","host":"string"}]],"description":"The kubeconfig configuration file of the Kubernetes cluster","description_kind":"plain","computed":true,"sensitive":true},"load_balancers_subnet_id":{"type":"string","description_kind":"plain","optional":true},"name":{"type":"string","description_kind":"plain","optional":true},"next_upgrade_versions":{"type":["set","string"],"description_kind":"plain","computed":true},"nodes_subnet_id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"nodes_url":{"type":"string","description_kind":"plain","computed":true},"private_network_id":{"type":"string","description_kind":"plain","optional":true},"region":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description_kind":"plain","computed":true},"update_policy":{"type":"string","description_kind":"plain","optional":true,"computed":true},"url":{"type":"string","description_kind":"plain","computed":true},"version":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"block_types":{"customization":{"nesting_mode":"set","block":{"block_types":{"apiserver":{"nesting_mode":"set","block":{"block_types":{"admissionplugins":{"nesting_mode":"set","block":{"attributes":{"disabled":{"type":["list","string"],"description_kind":"plain","optional":true,"computed":true},"enabled":{"type":["list","string"],"description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}}},"description_kind":"plain","deprecated":true}}},"description_kind":"plain","deprecated":true}},"customization_apiserver":{"nesting_mode":"set","block":{"block_types":{"admissionplugins":{"nesting_mode":"set","block":{"attributes":{"disabled":{"type":["list","string"],"description_kind":"plain","optional":true,"computed":true},"enabled":{"type":["list","string"],"description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"customization_kube_proxy":{"nesting_mode":"set","block":{"block_types":{"iptables":{"nesting_mode":"set","block":{"attributes":{"min_sync_period":{"type":"string","description_kind":"plain","optional":true},"sync_period":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"ipvs":{"nesting_mode":"set","block":{"attributes":{"min_sync_period":{"type":"string","description_kind":"plain","optional":true},"scheduler":{"type":"string","description_kind":"plain","optional":true},"sync_period":{"type":"string","description_kind":"plain","optional":true},"tcp_fin_timeout":{"type":"string","description_kind":"plain","optional":true},"tcp_timeout":{"type":"string","description_kind":"plain","optional":true},"udp_timeout":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"},"max_items":1},"private_network_configuration":{"nesting_mode":"set","block":{"attributes":{"default_vrack_gateway":{"type":"string","description":"If defined, all egress traffic will be routed towards this IP address, which should belong to the private network. Empty string means disabled.","description_kind":"plain","required":true},"private_network_routing_as_default":{"type":"bool","description":"Defines whether routing should default to using the nodes' private interface, instead of their public interface. Default is false.","description_kind":"plain","required":true}},"description_kind":"plain"},"max_items":1},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"default":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_kube_iprestrictions":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ips":{"type":["set","string"],"description":"List of IP restrictions for the cluster","description_kind":"plain","required":true},"kube_id":{"type":"string","description":"Kube ID","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"default":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_kube_nodepool":{"version":0,"block":{"attributes":{"anti_affinity":{"type":"bool","description":"Enable anti affinity groups for nodes in the pool","description_kind":"plain","optional":true,"computed":true},"autoscale":{"type":"bool","description":"Enable auto-scaling for the pool","description_kind":"plain","optional":true,"computed":true},"autoscaling_scale_down_unneeded_time_seconds":{"type":"number","description":"scaleDownUnneededTimeSeconds for autoscaling","description_kind":"plain","optional":true,"computed":true},"autoscaling_scale_down_unready_time_seconds":{"type":"number","description":"scaleDownUnreadyTimeSeconds for autoscaling","description_kind":"plain","optional":true,"computed":true},"autoscaling_scale_down_utilization_threshold":{"type":"number","description":"scaleDownUtilizationThreshold for autoscaling","description_kind":"plain","optional":true,"computed":true},"available_nodes":{"type":"number","description":"Number of nodes which are actually ready in the pool","description_kind":"plain","computed":true},"created_at":{"type":"string","description":"Creation date","description_kind":"plain","computed":true},"current_nodes":{"type":"number","description":"Number of nodes present in the pool","description_kind":"plain","computed":true},"desired_nodes":{"type":"number","description":"Number of nodes you desire in the pool","description_kind":"plain","optional":true,"computed":true},"flavor":{"type":"string","description":"Flavor name","description_kind":"plain","computed":true},"flavor_name":{"type":"string","description":"Flavor name","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kube_id":{"type":"string","description":"Kube ID","description_kind":"plain","required":true},"max_nodes":{"type":"number","description":"Number of nodes you desire in the pool","description_kind":"plain","optional":true,"computed":true},"min_nodes":{"type":"number","description":"Number of nodes you desire in the pool","description_kind":"plain","optional":true,"computed":true},"monthly_billed":{"type":"bool","description":"Enable monthly billing on all nodes in the pool","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"NodePool resource name","description_kind":"plain","optional":true,"computed":true},"project_id":{"type":"string","description":"Project id","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true},"size_status":{"type":"string","description":"Status describing the state between number of nodes wanted and available ones","description_kind":"plain","computed":true},"status":{"type":"string","description":"Current status","description_kind":"plain","computed":true},"up_to_date_nodes":{"type":"number","description":"Number of nodes with latest version installed in the pool","description_kind":"plain","computed":true},"updated_at":{"type":"string","description":"Last update date","description_kind":"plain","computed":true}},"block_types":{"template":{"nesting_mode":"set","block":{"block_types":{"metadata":{"nesting_mode":"set","block":{"attributes":{"annotations":{"type":["map","string"],"description":"annotations","description_kind":"plain","required":true},"finalizers":{"type":["list","string"],"description":"finalizers","description_kind":"plain","required":true},"labels":{"type":["map","string"],"description":"labels","description_kind":"plain","required":true}},"description":"metadata","description_kind":"plain"},"min_items":1,"max_items":1},"spec":{"nesting_mode":"set","block":{"attributes":{"taints":{"type":["list",["map","string"]],"description":"taints","description_kind":"plain","required":true},"unschedulable":{"type":"bool","description":"unschedulable","description_kind":"plain","required":true}},"description":"spec","description_kind":"plain"},"min_items":1,"max_items":1}},"description":"Node pool template","description_kind":"plain"},"max_items":1},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"default":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_kube_oidc":{"version":0,"block":{"attributes":{"client_id":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"issuer_url":{"type":"string","description_kind":"plain","required":true},"kube_id":{"type":"string","description_kind":"plain","required":true},"oidc_ca_content":{"type":"string","description_kind":"plain","optional":true},"oidc_groups_claim":{"type":["list","string"],"description_kind":"plain","optional":true},"oidc_groups_prefix":{"type":"string","description_kind":"plain","optional":true},"oidc_required_claim":{"type":["list","string"],"description_kind":"plain","optional":true},"oidc_signing_algs":{"type":["list","string"],"description_kind":"plain","optional":true},"oidc_username_claim":{"type":"string","description_kind":"plain","optional":true},"oidc_username_prefix":{"type":"string","description_kind":"plain","optional":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"default":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_network_private":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true},"regions":{"type":["set","string"],"description_kind":"plain","optional":true,"computed":true},"regions_attributes":{"type":["set",["object",{"openstackid":"string","region":"string","status":"string"}]],"description_kind":"plain","computed":true},"regions_status":{"type":["set",["object",{"region":"string","status":"string"}]],"description_kind":"plain","deprecated":true,"computed":true},"service_name":{"type":"string","description":"Service name of the resource representing the id of the cloud project.","description_kind":"plain","required":true},"status":{"type":"string","description_kind":"plain","computed":true},"type":{"type":"string","description_kind":"plain","computed":true},"vlan_id":{"type":"number","description_kind":"plain","optional":true}},"description_kind":"plain"}},"ovh_cloud_project_network_private_subnet":{"version":0,"block":{"attributes":{"cidr":{"type":"string","description_kind":"plain","computed":true},"dhcp":{"type":"bool","description_kind":"plain","optional":true},"end":{"type":"string","description_kind":"plain","required":true},"gateway_ip":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_pools":{"type":["set",["object",{"dhcp":"bool","end":"string","network":"string","region":"string","start":"string"}]],"description_kind":"plain","computed":true},"network":{"type":"string","description_kind":"plain","required":true},"network_id":{"type":"string","description_kind":"plain","required":true},"no_gateway":{"type":"bool","description_kind":"plain","optional":true},"region":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name of the resource representing the id of the cloud project.","description_kind":"plain","required":true},"start":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_region_loadbalancer_log_subscription":{"version":0,"block":{"attributes":{"created_at":{"type":"string","description":"Creation date of the subscription","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kind":{"type":"string","description":"Log kind name of this subscription","description_kind":"plain","required":true},"ldp_service_name":{"type":"string","description":"Name of the destination log service","description_kind":"plain","computed":true},"loadbalancer_id":{"type":"string","description":"ID representing the loadbalancer of the resource","description_kind":"plain","required":true},"operation_id":{"type":"string","description":"Identifier of the operation","description_kind":"plain","computed":true},"region_name":{"type":"string","description":"Region name of the resource representing the name of the region.","description_kind":"plain","required":true},"resource_name":{"type":"string","description":"Name of subscribed resource, where the logs come from","description_kind":"plain","computed":true},"resource_type":{"type":"string","description":"Type of subscribed resource, where the logs come from","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"Service name of the resource representing the id of the cloud project.","description_kind":"plain","required":true},"stream_id":{"type":"string","description":"ID representing the stream of the resource","description_kind":"plain","required":true},"subscription_id":{"type":"string","description":"Id of the subscription","description_kind":"plain","computed":true},"updated_at":{"type":"string","description":"Last update date of the subscription","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_region_storage_presign":{"version":0,"block":{"attributes":{"expire":{"type":"number","description":"How long (in seconds) the URL will be valid.","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"method":{"type":"string","description_kind":"plain","required":true},"name":{"type":"string","description":"The S3 storage container's name.","description_kind":"plain","required":true},"object":{"type":"string","description":"Name of the object to download or upload.","description_kind":"plain","required":true},"region_name":{"type":"string","description":"Region name.","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name of the resource representing the ID of the cloud project.","description_kind":"plain","required":true},"url":{"type":"string","description":"Presigned URL.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_user":{"version":0,"block":{"attributes":{"creation_date":{"type":"string","description_kind":"plain","computed":true},"description":{"type":"string","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"openstack_rc":{"type":["map","string"],"description_kind":"plain","optional":true,"computed":true},"password":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"role_name":{"type":"string","description_kind":"plain","optional":true},"role_names":{"type":["list","string"],"description_kind":"plain","optional":true},"roles":{"type":["list",["object",{"description":"string","id":"string","name":"string","permissions":["set","string"]}]],"description_kind":"plain","computed":true},"service_name":{"type":"string","description":"Service name of the resource representing the id of the cloud project.","description_kind":"plain","required":true},"status":{"type":"string","description_kind":"plain","computed":true},"username":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_user_s3_credential":{"version":0,"block":{"attributes":{"access_key_id":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"internal_user_id":{"type":"string","description_kind":"plain","computed":true},"secret_access_key":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"service_name":{"type":"string","description":"Service name of the resource representing the ID of the cloud project.","description_kind":"plain","required":true},"user_id":{"type":"string","description":"The user ID","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_user_s3_policy":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"policy":{"type":"string","description":"The policy document. This is a JSON formatted string.","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name of the resource representing the ID of the cloud project.","description_kind":"plain","required":true},"user_id":{"type":"string","description":"The user ID","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_workflow_backup":{"version":0,"block":{"attributes":{"backup_name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"created_at":{"type":"string","description_kind":"plain","computed":true},"cron":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","computed":true},"instance_id":{"type":"string","description_kind":"plain","required":true},"max_execution_count":{"type":"number","description_kind":"plain","optional":true},"name":{"type":"string","description_kind":"plain","required":true},"region_name":{"type":"string","description":"Region name.","description_kind":"plain","required":true},"rotation":{"type":"number","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_dbaas_logs_cluster":{"version":0,"block":{"attributes":{"archive_allowed_networks":{"type":["set","string"],"description":"Allowed networks for ARCHIVE flow type","description_kind":"plain","optional":true},"cluster_id":{"type":"string","description_kind":"plain","optional":true},"cluster_type":{"type":"string","description":"Cluster type","description_kind":"plain","computed":true},"dedicated_input_pem":{"type":"string","description":"PEM for dedicated inputs","description_kind":"plain","computed":true,"sensitive":true},"direct_input_allowed_networks":{"type":["set","string"],"description":"Allowed networks for DIRECT_INPUT flow type","description_kind":"plain","optional":true},"direct_input_pem":{"type":"string","description":"PEM for direct inputs","description_kind":"plain","computed":true,"sensitive":true},"hostname":{"type":"string","description":"hostname","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"initial_archive_allowed_networks":{"type":["set","string"],"description":"Initial allowed networks for ARCHIVE flow type","description_kind":"plain","computed":true,"sensitive":true},"initial_direct_input_allowed_networks":{"type":["set","string"],"description":"Initial allowed networks for DIRECT_INPUT flow type","description_kind":"plain","computed":true,"sensitive":true},"initial_query_allowed_networks":{"type":["set","string"],"description":"Initial allowed networks for QUERY flow type","description_kind":"plain","computed":true,"sensitive":true},"is_default":{"type":"bool","description":"All content generated by given service will be placed on this cluster","description_kind":"plain","computed":true},"is_unlocked":{"type":"bool","description":"Allow given service to perform advanced operations on cluster","description_kind":"plain","computed":true},"query_allowed_networks":{"type":["set","string"],"description":"Allowed networks for QUERY flow type","description_kind":"plain","optional":true},"region":{"type":"string","description":"Data center localization","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_dbaas_logs_input":{"version":0,"block":{"attributes":{"allowed_networks":{"type":["list","string"],"description":"IP blocks","description_kind":"plain","optional":true,"computed":true},"created_at":{"type":"string","description":"Input creation","description_kind":"plain","computed":true},"description":{"type":"string","description":"Input description","description_kind":"plain","required":true},"engine_id":{"type":"string","description":"Input engine ID","description_kind":"plain","required":true},"exposed_port":{"type":"string","description":"Port","description_kind":"plain","optional":true,"computed":true},"hostname":{"type":"string","description":"Hostname","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"input_id":{"type":"string","description":"Input ID","description_kind":"plain","computed":true},"is_restart_required":{"type":"bool","description":"Indicate if input need to be restarted","description_kind":"plain","computed":true},"nb_instance":{"type":"number","description":"Number of instance running","description_kind":"plain","optional":true,"computed":true},"public_address":{"type":"string","description":"Input IP address","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"ssl_certificate":{"type":"string","description":"Input SSL certificate","description_kind":"plain","computed":true,"sensitive":true},"status":{"type":"string","description":"init: configuration required, pending: ready to start, running: available","description_kind":"plain","computed":true},"stream_id":{"type":"string","description":"Associated Graylog stream","description_kind":"plain","required":true},"title":{"type":"string","description":"Input title","description_kind":"plain","required":true},"updated_at":{"type":"string","description":"Input last update","description_kind":"plain","computed":true}},"block_types":{"configuration":{"nesting_mode":"list","block":{"block_types":{"flowgger":{"nesting_mode":"list","block":{"attributes":{"log_format":{"type":"string","description":"Type of format to decode","description_kind":"plain","required":true},"log_framing":{"type":"string","description":"Indicates how messages are delimited","description_kind":"plain","required":true}},"description":"Flowgger configuration","description_kind":"plain"},"max_items":1},"logstash":{"nesting_mode":"list","block":{"attributes":{"filter_section":{"type":"string","description":"The filter section of logstash.conf","description_kind":"plain","optional":true},"input_section":{"type":"string","description":"The filter section of logstash.conf","description_kind":"plain","required":true},"pattern_section":{"type":"string","description":"The list of customs Grok patterns","description_kind":"plain","optional":true}},"description":"Logstash configuration","description_kind":"plain"},"max_items":1}},"description":"Input configuration","description_kind":"plain"},"min_items":1,"max_items":1}},"description_kind":"plain"}},"ovh_dbaas_logs_output_graylog_stream":{"version":0,"block":{"attributes":{"can_alert":{"type":"bool","description":"Indicates if the current user can create alert on the stream","description_kind":"plain","computed":true},"cold_storage_compression":{"type":"string","description":"Cold storage compression method","description_kind":"plain","optional":true,"computed":true},"cold_storage_content":{"type":"string","description":"ColdStorage content","description_kind":"plain","optional":true,"computed":true},"cold_storage_enabled":{"type":"bool","description":"Is Cold storage enabled?","description_kind":"plain","optional":true,"computed":true},"cold_storage_notify_enabled":{"type":"bool","description":"Notify on new Cold storage archive","description_kind":"plain","optional":true,"computed":true},"cold_storage_retention":{"type":"number","description":"Cold storage retention in year","description_kind":"plain","optional":true,"computed":true},"cold_storage_target":{"type":"string","description":"ColdStorage destination","description_kind":"plain","optional":true,"computed":true},"created_at":{"type":"string","description":"Stream creation","description_kind":"plain","computed":true},"description":{"type":"string","description":"Stream description","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"indexing_enabled":{"type":"bool","description":"Enable ES indexing","description_kind":"plain","optional":true,"computed":true},"indexing_max_size":{"type":"number","description":"Maximum indexing size (in GB)","description_kind":"plain","optional":true,"computed":true},"indexing_notify_enabled":{"type":"bool","description":"If set, notify when size is near 80, 90 or 100 % of the maximum configured setting","description_kind":"plain","optional":true,"computed":true},"is_editable":{"type":"bool","description":"Indicates if you are allowed to edit entry","description_kind":"plain","computed":true},"is_shareable":{"type":"bool","description":"Indicates if you are allowed to share entry","description_kind":"plain","computed":true},"nb_alert_condition":{"type":"number","description":"Number of alert condition","description_kind":"plain","computed":true},"nb_archive":{"type":"number","description":"Number of coldstored archives","description_kind":"plain","computed":true},"parent_stream_id":{"type":"string","description":"Parent stream ID","description_kind":"plain","optional":true},"pause_indexing_on_max_size":{"type":"bool","description":"If set, pause indexing when maximum size is reach","description_kind":"plain","optional":true,"computed":true},"retention_id":{"type":"string","description":"Retention ID","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"The service name","description_kind":"plain","required":true},"stream_id":{"type":"string","description":"Stream ID","description_kind":"plain","computed":true},"title":{"type":"string","description":"Stream description","description_kind":"plain","required":true},"updated_at":{"type":"string","description":"Stream last update","description_kind":"plain","computed":true},"web_socket_enabled":{"type":"bool","description":"Enable Websocket","description_kind":"plain","optional":true,"computed":true},"write_token":{"type":"string","description":"Write token of the stream","description_kind":"plain","computed":true,"sensitive":true}},"description_kind":"plain"}},"ovh_dbaas_logs_token":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"markdown","optional":true,"computed":true},"created_at":{"type":"string","description":"Token creation","description_kind":"markdown","computed":true},"name":{"type":"string","description":"Token name","description_kind":"markdown","required":true},"service_name":{"type":"string","description":"Service name","description_kind":"markdown","required":true},"token_id":{"type":"string","description":"Token used","description_kind":"markdown","computed":true},"updated_at":{"type":"string","description":"Token last update","description_kind":"markdown","computed":true},"value":{"type":"string","description":"Token value","description_kind":"markdown","computed":true,"sensitive":true}},"description_kind":"plain"}},"ovh_dedicated_ceph_acl":{"version":0,"block":{"attributes":{"family":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"netmask":{"type":"string","description_kind":"plain","required":true},"network":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_dedicated_nasha_partition":{"version":0,"block":{"attributes":{"capacity":{"type":"number","description_kind":"plain","computed":true},"description":{"type":"string","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true},"protocol":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"size":{"type":"number","description_kind":"plain","required":true},"used_by_snapshots":{"type":"number","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_dedicated_nasha_partition_access":{"version":0,"block":{"attributes":{"acl_description":{"type":"string","description":"A brief description of the ACL","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip":{"type":"string","description_kind":"plain","required":true},"partition_name":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"type":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}},"ovh_dedicated_nasha_partition_snapshot":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"partition_name":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"type":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_dedicated_server_install_task":{"version":0,"block":{"attributes":{"bootid_on_destroy":{"type":"number","description":"If set, reboot the server on the specified boot id during destroy phase","description_kind":"plain","optional":true},"comment":{"type":"string","description":"Details of this task","description_kind":"plain","computed":true},"done_date":{"type":"string","description":"Completion date","description_kind":"plain","computed":true},"function":{"type":"string","description":"Function name","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"last_update":{"type":"string","description":"Last update","description_kind":"plain","computed":true},"partition_scheme_name":{"type":"string","description":"Partition scheme name.","description_kind":"plain","optional":true},"service_name":{"type":"string","description":"The internal name of your dedicated server.","description_kind":"plain","required":true},"start_date":{"type":"string","description":"Task Creation date","description_kind":"plain","computed":true},"status":{"type":"string","description":"Task status","description_kind":"plain","computed":true},"template_name":{"type":"string","description":"Template name","description_kind":"plain","required":true}},"block_types":{"details":{"nesting_mode":"list","block":{"attributes":{"custom_hostname":{"type":"string","description":"Set up the server using the provided hostname instead of the default hostname","description_kind":"plain","optional":true},"disk_group_id":{"type":"number","description_kind":"plain","optional":true},"no_raid":{"type":"bool","description_kind":"plain","optional":true},"post_installation_script_link":{"type":"string","description":"Indicate the URL where your postinstall customisation script is located","description_kind":"plain","optional":true},"post_installation_script_return":{"type":"string","description":"indicate the string returned by your postinstall customisation script on successful execution. Advice: your script should return a unique validation string in case of succes. A good example is 'loh1Xee7eo OK OK OK UGh8Ang1Gu'","description_kind":"plain","optional":true},"soft_raid_devices":{"type":"number","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}},"user_metadata":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The key for the user_metadata","description_kind":"plain","required":true},"value":{"type":"string","description":"The value for the user_metadata","description_kind":"plain","required":true}},"description_kind":"plain"},"max_items":128}},"description_kind":"plain"}},"ovh_dedicated_server_networking":{"version":0,"block":{"attributes":{"description":{"type":"string","description":"Operation description","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"The internal name of your dedicated server.","description_kind":"plain","required":true},"status":{"type":"string","description":"Operation status","description_kind":"plain","computed":true}},"block_types":{"interfaces":{"nesting_mode":"set","block":{"attributes":{"macs":{"type":["set","string"],"description":"Interface Mac address","description_kind":"plain","required":true},"type":{"type":"string","description":"Interface type","description_kind":"plain","required":true}},"description":"Interface or interfaces aggregation.","description_kind":"plain"},"min_items":1,"max_items":2},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_dedicated_server_reboot_task":{"version":0,"block":{"attributes":{"comment":{"type":"string","description":"Details of this task","description_kind":"plain","computed":true},"done_date":{"type":"string","description":"Completion date","description_kind":"plain","computed":true},"function":{"type":"string","description":"Function name","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"keepers":{"type":["list","string"],"description":"Change this value to recreate a reboot task.","description_kind":"plain","required":true},"last_update":{"type":"string","description":"Last update","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"The internal name of your dedicated server.","description_kind":"plain","required":true},"start_date":{"type":"string","description":"Task Creation date","description_kind":"plain","computed":true},"status":{"type":"string","description":"Task status","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_dedicated_server_update":{"version":0,"block":{"attributes":{"boot_id":{"type":"number","description":"The boot id of your dedicated server.","description_kind":"plain","optional":true,"computed":true},"boot_script":{"type":"string","description":"The boot script of your dedicated server.","description_kind":"plain","optional":true},"display_name":{"type":"string","description":"Display name of the dedicated server","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"monitoring":{"type":"bool","description":"Icmp monitoring state","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"The internal name of your dedicated server.","description_kind":"plain","required":true},"state":{"type":"string","description":"error, hacked, hackedBlocked, ok","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"ovh_domain_zone":{"version":0,"block":{"attributes":{"dnssec_supported":{"type":"bool","description":"Is DNSSEC supported by this zone","description_kind":"plain","computed":true},"has_dns_anycast":{"type":"bool","description":"hasDnsAnycast flag of the DNS zone","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"last_update":{"type":"string","description":"Last update date of the DNS zone","description_kind":"plain","computed":true},"name":{"type":"string","description":"Zone name","description_kind":"plain","computed":true},"name_servers":{"type":["list","string"],"description":"Name servers that host the DNS zone","description_kind":"plain","computed":true},"ovh_subsidiary":{"type":"string","description":"Ovh Subsidiary","description_kind":"plain","required":true},"payment_mean":{"type":"string","description":"Ovh payment mode","description_kind":"plain","deprecated":true,"optional":true},"urn":{"type":"string","description_kind":"plain","computed":true}},"block_types":{"order":{"nesting_mode":"list","block":{"attributes":{"date":{"type":"string","description":"date","description_kind":"plain","computed":true},"details":{"type":["list",["object",{"description":"string","domain":"string","order_detail_id":"number","quantity":"string"}]],"description":"Information about a Bill entry","description_kind":"plain","computed":true},"expiration_date":{"type":"string","description":"expiration date","description_kind":"plain","computed":true},"order_id":{"type":"number","description":"order id","description_kind":"plain","computed":true}},"description":"Details about an Order","description_kind":"plain"}},"plan":{"nesting_mode":"list","block":{"attributes":{"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"duration":{"type":"string","description":"duration","description_kind":"plain","required":true},"plan_code":{"type":"string","description":"Plan code","description_kind":"plain","required":true},"pricing_mode":{"type":"string","description":"Pricing model identifier","description_kind":"plain","required":true}},"block_types":{"configuration":{"nesting_mode":"list","block":{"attributes":{"label":{"type":"string","description":"Identifier of the resource","description_kind":"plain","required":true},"value":{"type":"string","description":"Path to the resource in API.OVH.COM","description_kind":"plain","required":true}},"description":"Representation of a configuration item for personalizing product","description_kind":"plain"}}},"description":"Product Plan to order","description_kind":"plain"},"min_items":1,"max_items":1},"plan_option":{"nesting_mode":"list","block":{"attributes":{"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"duration":{"type":"string","description":"duration","description_kind":"plain","required":true},"plan_code":{"type":"string","description":"Plan code","description_kind":"plain","required":true},"pricing_mode":{"type":"string","description":"Pricing model identifier","description_kind":"plain","required":true}},"block_types":{"configuration":{"nesting_mode":"list","block":{"attributes":{"label":{"type":"string","description":"Identifier of the resource","description_kind":"plain","required":true},"value":{"type":"string","description":"Path to the resource in API.OVH.COM","description_kind":"plain","required":true}},"description":"Representation of a configuration item for personalizing product","description_kind":"plain"}}},"description":"Product Plan to order","description_kind":"plain"}}},"description_kind":"plain"}},"ovh_domain_zone_dnssec":{"version":0,"block":{"attributes":{"status":{"type":"string","description":"DNSSEC Status","description_kind":"markdown","computed":true},"zone_name":{"type":"string","description":"The internal name of your zone","description_kind":"markdown","required":true}},"description_kind":"plain"}},"ovh_domain_zone_record":{"version":0,"block":{"attributes":{"fieldtype":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"subdomain":{"type":"string","description_kind":"plain","optional":true},"target":{"type":"string","description_kind":"plain","required":true},"ttl":{"type":"number","description_kind":"plain","optional":true},"zone":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_domain_zone_redirection":{"version":0,"block":{"attributes":{"description":{"type":"string","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"keywords":{"type":"string","description_kind":"plain","optional":true},"subdomain":{"type":"string","description_kind":"plain","optional":true},"target":{"type":"string","description_kind":"plain","required":true},"title":{"type":"string","description_kind":"plain","optional":true},"type":{"type":"string","description_kind":"plain","required":true},"zone":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_hosting_privatedatabase":{"version":0,"block":{"attributes":{"cpu":{"type":"number","description":"Number of CPU on your private database","description_kind":"plain","computed":true},"datacenter":{"type":"string","description":"Datacenter where this private database is located","description_kind":"plain","computed":true},"display_name":{"type":"string","description":"Name displayed in customer panel for your private database","description_kind":"plain","optional":true,"computed":true},"hostname":{"type":"string","description":"Private database hostname","description_kind":"plain","computed":true},"hostname_ftp":{"type":"string","description":"Private database FTP hostname","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"infrastructure":{"type":"string","description":"Infrastructure where service was stored","description_kind":"plain","computed":true},"offer":{"type":"string","description":"Type of the private database offer","description_kind":"plain","computed":true},"ovh_subsidiary":{"type":"string","description":"Ovh Subsidiary","description_kind":"plain","required":true},"payment_mean":{"type":"string","description":"Ovh payment mode","description_kind":"plain","deprecated":true,"optional":true},"port":{"type":"number","description":"Private database service port","description_kind":"plain","computed":true},"port_ftp":{"type":"number","description":"Private database FTP port","description_kind":"plain","computed":true},"quota_size":{"type":"number","description":"Space allowed (in MB) on your private database","description_kind":"plain","computed":true},"quota_used":{"type":"number","description":"Sapce used (in MB) on your private database","description_kind":"plain","computed":true},"ram":{"type":"number","description":"Amount of ram (in MB) on your private database","description_kind":"plain","computed":true},"server":{"type":"string","description":"Private database server name","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"state":{"type":"string","description":"Private database state","description_kind":"plain","computed":true},"type":{"type":"string","description":"Private database type","description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true},"version":{"type":"string","description":"Private database available versions","description_kind":"plain","computed":true},"version_label":{"type":"string","description":"Private database version label","description_kind":"plain","computed":true},"version_number":{"type":"number","description":"Private database version number","description_kind":"plain","computed":true}},"block_types":{"order":{"nesting_mode":"list","block":{"attributes":{"date":{"type":"string","description":"date","description_kind":"plain","computed":true},"details":{"type":["list",["object",{"description":"string","domain":"string","order_detail_id":"number","quantity":"string"}]],"description":"Information about a Bill entry","description_kind":"plain","computed":true},"expiration_date":{"type":"string","description":"expiration date","description_kind":"plain","computed":true},"order_id":{"type":"number","description":"order id","description_kind":"plain","computed":true}},"description":"Details about an Order","description_kind":"plain"}},"plan":{"nesting_mode":"list","block":{"attributes":{"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"duration":{"type":"string","description":"duration","description_kind":"plain","required":true},"plan_code":{"type":"string","description":"Plan code","description_kind":"plain","required":true},"pricing_mode":{"type":"string","description":"Pricing model identifier","description_kind":"plain","required":true}},"block_types":{"configuration":{"nesting_mode":"list","block":{"attributes":{"label":{"type":"string","description":"Identifier of the resource","description_kind":"plain","required":true},"value":{"type":"string","description":"Path to the resource in API.OVH.COM","description_kind":"plain","required":true}},"description":"Representation of a configuration item for personalizing product","description_kind":"plain"}}},"description":"Product Plan to order","description_kind":"plain"},"min_items":1,"max_items":1},"plan_option":{"nesting_mode":"list","block":{"attributes":{"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"duration":{"type":"string","description":"duration","description_kind":"plain","required":true},"plan_code":{"type":"string","description":"Plan code","description_kind":"plain","required":true},"pricing_mode":{"type":"string","description":"Pricing model identifier","description_kind":"plain","required":true}},"block_types":{"configuration":{"nesting_mode":"list","block":{"attributes":{"label":{"type":"string","description":"Identifier of the resource","description_kind":"plain","required":true},"value":{"type":"string","description":"Path to the resource in API.OVH.COM","description_kind":"plain","required":true}},"description":"Representation of a configuration item for personalizing product","description_kind":"plain"}}},"description":"Product Plan to order","description_kind":"plain"}}},"description_kind":"plain"}},"ovh_hosting_privatedatabase_database":{"version":0,"block":{"attributes":{"database_name":{"type":"string","description":"Name of your new database","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"The internal name of your private database","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_hosting_privatedatabase_user":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"password":{"type":"string","description":"Password for the new user ( alphanumeric and 8 characters minimum )","description_kind":"plain","required":true,"sensitive":true},"service_name":{"type":"string","description":"The internal name of your private database","description_kind":"plain","required":true},"user_name":{"type":"string","description":"User name used to connect on your databases","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_hosting_privatedatabase_user_grant":{"version":0,"block":{"attributes":{"database_name":{"type":"string","description":"Database name where add grant","description_kind":"plain","required":true},"grant":{"type":"string","description":"Database name where add grant","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"The internal name of your private database","description_kind":"plain","required":true},"user_name":{"type":"string","description":"User name used to connect on your databases","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_hosting_privatedatabase_whitelist":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip":{"type":"string","description":"The whitelisted IP in your instance","description_kind":"plain","required":true},"name":{"type":"string","description":"Custom name for your Whitelisted IP","description_kind":"plain","required":true},"service":{"type":"bool","description":"Authorize this IP to access service port","description_kind":"plain","required":true},"service_name":{"type":"string","description":"The internal name of your private database","description_kind":"plain","required":true},"sftp":{"type":"bool","description":"Authorize this IP to access SFTP port","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_iam_permissions_group":{"version":0,"block":{"attributes":{"allow":{"type":["set","string"],"description_kind":"plain","optional":true},"created_at":{"type":"string","description_kind":"plain","computed":true},"deny":{"type":["set","string"],"description_kind":"plain","optional":true},"description":{"type":"string","description_kind":"plain","required":true},"except":{"type":["set","string"],"description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true},"owner":{"type":"string","description_kind":"plain","computed":true},"updated_at":{"type":"string","description_kind":"plain","optional":true,"computed":true},"urn":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_iam_policy":{"version":0,"block":{"attributes":{"allow":{"type":["set","string"],"description_kind":"plain","optional":true},"created_at":{"type":"string","description_kind":"plain","computed":true},"deny":{"type":["set","string"],"description_kind":"plain","optional":true},"description":{"type":"string","description_kind":"plain","optional":true},"except":{"type":["set","string"],"description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"identities":{"type":["set","string"],"description_kind":"plain","required":true},"name":{"type":"string","description_kind":"plain","required":true},"owner":{"type":"string","description_kind":"plain","computed":true},"permissions_groups":{"type":["set","string"],"description_kind":"plain","optional":true},"read_only":{"type":"bool","description_kind":"plain","computed":true},"resources":{"type":["set","string"],"description_kind":"plain","required":true},"updated_at":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_iam_resource_group":{"version":0,"block":{"attributes":{"created_at":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true},"owner":{"type":"string","description_kind":"plain","computed":true},"read_only":{"type":"bool","description_kind":"plain","computed":true},"resources":{"type":["set","string"],"description_kind":"plain","optional":true},"updated_at":{"type":"string","description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_ip_firewall":{"version":0,"block":{"attributes":{"enabled":{"type":"bool","description_kind":"plain","optional":true,"computed":true},"ip":{"type":"string","description":"IP (v4 or v6) CIDR notation (e.g., 192.0.2.0/24)","description_kind":"markdown","required":true},"ip_on_firewall":{"type":"string","description":"IPv4 address (e.g., 192.0.2.0)","description_kind":"markdown","required":true},"state":{"type":"string","description":"Current state of your ip on firewall","description_kind":"markdown","computed":true}},"description_kind":"plain"}},"ovh_ip_firewall_rule":{"version":0,"block":{"attributes":{"action":{"type":"string","description":"Possible values for action","description_kind":"markdown","required":true},"creation_date":{"type":"string","description_kind":"plain","computed":true},"destination":{"type":"string","description":"Destination ip for your rule","description_kind":"markdown","computed":true},"destination_port":{"type":"number","description":"Destination port for your rule. Only with TCP/UDP protocol","description_kind":"markdown","optional":true,"computed":true},"destination_port_desc":{"type":"string","description":"Destination port range for your rule. Only with TCP/UDP protocol","description_kind":"plain","computed":true},"fragments":{"type":"bool","description":"Fragments option","description_kind":"markdown","optional":true,"computed":true},"ip":{"type":"string","description":"IP (v4 or v6) CIDR notation (e.g., 192.0.2.0/24)","description_kind":"markdown","required":true},"ip_on_firewall":{"type":"string","description":"IPv4 address (e.g., 192.0.2.0)","description_kind":"markdown","required":true},"protocol":{"type":"string","description":"Possible values for protocol","description_kind":"markdown","required":true},"rule":{"type":"string","description_kind":"plain","computed":true},"sequence":{"type":"number","description":"Possible values for action","description_kind":"markdown","required":true},"source":{"type":"string","description":"IPv4 CIDR notation (e.g., 192.0.2.0/24)","description_kind":"markdown","optional":true,"computed":true},"source_port":{"type":"number","description":"Source port for your rule. Only with TCP/UDP protocol","description_kind":"markdown","optional":true,"computed":true},"source_port_desc":{"type":"string","description":"Source port for your rule. Only with TCP/UDP protocol","description_kind":"plain","computed":true},"state":{"type":"string","description":"Current state of your rule","description_kind":"markdown","computed":true},"tcp_option":{"type":"string","description":"TCP option on your rule","description_kind":"markdown","optional":true,"computed":true}},"description_kind":"plain"}},"ovh_ip_mitigation":{"version":0,"block":{"attributes":{"auto":{"type":"bool","description":"Set on true if your ip is on auto-mitigation","description_kind":"markdown","computed":true},"ip":{"type":"string","description":"IP (v4 or v6) CIDR notation (e.g., 192.0.2.0/24)","description_kind":"markdown","required":true},"ip_on_mitigation":{"type":"string","description":"IPv4 address (e.g., 192.0.2.0)","description_kind":"markdown","required":true},"permanent":{"type":"bool","description":"Set on true if your ip is on permanent mitigation","description_kind":"markdown","optional":true,"computed":true},"state":{"type":"string","description":"Current state of your ip on mitigation","description_kind":"markdown","computed":true}},"description_kind":"plain"}},"ovh_ip_move":{"version":0,"block":{"attributes":{"can_be_terminated":{"type":"bool","description_kind":"plain","computed":true},"country":{"type":"string","description_kind":"plain","computed":true},"description":{"type":"string","description":"Custom description on your ip","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip":{"type":"string","description_kind":"plain","required":true},"organisation_id":{"type":"string","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","computed":true},"task_start_date":{"type":"string","description":"Starting date and time field of the current IP task that is in charge of changing the service the IP is attached to","description_kind":"plain","computed":true},"task_status":{"type":"string","description":"Status field of the current IP task that is in charge of changing the service the IP is attached to","description_kind":"plain","computed":true},"type":{"type":"string","description":"Possible values for ip type","description_kind":"plain","computed":true}},"block_types":{"routed_to":{"nesting_mode":"list","block":{"attributes":{"service_name":{"type":"string","description":"Service where ip is routed to","description_kind":"plain","required":true}},"description":"Routage information","description_kind":"plain"},"min_items":1,"max_items":1}},"description_kind":"plain"}},"ovh_ip_reverse":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip":{"type":"string","description_kind":"plain","required":true},"ip_reverse":{"type":"string","description_kind":"plain","required":true},"reverse":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_ip_service":{"version":0,"block":{"attributes":{"can_be_terminated":{"type":"bool","description_kind":"plain","computed":true},"country":{"type":"string","description_kind":"plain","computed":true},"description":{"type":"string","description":"Custom description on your ip","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip":{"type":"string","description_kind":"plain","computed":true},"organisation_id":{"type":"string","description_kind":"plain","computed":true},"ovh_subsidiary":{"type":"string","description":"Ovh Subsidiary","description_kind":"plain","required":true},"payment_mean":{"type":"string","description":"Ovh payment mode","description_kind":"plain","deprecated":true,"optional":true},"routed_to":{"type":["list",["object",{"service_name":"string"}]],"description":"Routage information","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","computed":true},"type":{"type":"string","description":"Possible values for ip type","description_kind":"plain","computed":true}},"block_types":{"order":{"nesting_mode":"list","block":{"attributes":{"date":{"type":"string","description":"date","description_kind":"plain","computed":true},"details":{"type":["list",["object",{"description":"string","domain":"string","order_detail_id":"number","quantity":"string"}]],"description":"Information about a Bill entry","description_kind":"plain","computed":true},"expiration_date":{"type":"string","description":"expiration date","description_kind":"plain","computed":true},"order_id":{"type":"number","description":"order id","description_kind":"plain","computed":true}},"description":"Details about an Order","description_kind":"plain"}},"plan":{"nesting_mode":"list","block":{"attributes":{"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"duration":{"type":"string","description":"duration","description_kind":"plain","required":true},"plan_code":{"type":"string","description":"Plan code","description_kind":"plain","required":true},"pricing_mode":{"type":"string","description":"Pricing model identifier","description_kind":"plain","required":true}},"block_types":{"configuration":{"nesting_mode":"list","block":{"attributes":{"label":{"type":"string","description":"Identifier of the resource","description_kind":"plain","required":true},"value":{"type":"string","description":"Path to the resource in API.OVH.COM","description_kind":"plain","required":true}},"description":"Representation of a configuration item for personalizing product","description_kind":"plain"}}},"description":"Product Plan to order","description_kind":"plain"},"min_items":1,"max_items":1},"plan_option":{"nesting_mode":"list","block":{"attributes":{"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"duration":{"type":"string","description":"duration","description_kind":"plain","required":true},"plan_code":{"type":"string","description":"Plan code","description_kind":"plain","required":true},"pricing_mode":{"type":"string","description":"Pricing model identifier","description_kind":"plain","required":true}},"block_types":{"configuration":{"nesting_mode":"list","block":{"attributes":{"label":{"type":"string","description":"Identifier of the resource","description_kind":"plain","required":true},"value":{"type":"string","description":"Path to the resource in API.OVH.COM","description_kind":"plain","required":true}},"description":"Representation of a configuration item for personalizing product","description_kind":"plain"}}},"description":"Product Plan to order","description_kind":"plain"}}},"description_kind":"plain"}},"ovh_iploadbalancing":{"version":0,"block":{"attributes":{"display_name":{"type":"string","description":"Set the name displayed in ManagerV6 for your iplb (max 50 chars)","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_loadbalancing":{"type":"string","description":"Your IP load balancing","description_kind":"plain","computed":true},"ipv4":{"type":"string","description":"The IPV4 associated to your IP load balancing","description_kind":"plain","computed":true},"ipv6":{"type":"string","description":"The IPV6 associated to your IP load balancing. DEPRECATED.","description_kind":"plain","computed":true},"metrics_token":{"type":"string","description":"The metrics token associated with your IP load balancing","description_kind":"plain","computed":true,"sensitive":true},"offer":{"type":"string","description":"The offer of your IP load balancing","description_kind":"plain","computed":true},"orderable_zone":{"type":["set",["object",{"name":"string","plan_code":"string"}]],"description":"Available additional zone for your Load Balancer","description_kind":"plain","computed":true},"ovh_subsidiary":{"type":"string","description":"Ovh Subsidiary","description_kind":"plain","required":true},"payment_mean":{"type":"string","description":"Ovh payment mode","description_kind":"plain","deprecated":true,"optional":true},"service_name":{"type":"string","description":"The internal name of your IP load balancing","description_kind":"plain","computed":true},"ssl_configuration":{"type":"string","description":"Modern oldest compatible clients : Firefox 27, Chrome 30, IE 11 on Windows 7, Edge, Opera 17, Safari 9, Android 5.0, and Java 8. Intermediate oldest compatible clients : Firefox 1, Chrome 1, IE 7, Opera 5, Safari 1, Windows XP IE8, Android 2.3, Java 7. Intermediate if null.","description_kind":"plain","optional":true,"computed":true},"state":{"type":"string","description":"Current state of your IP","description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true},"vrack_eligibility":{"type":"bool","description":"Vrack eligibility","description_kind":"plain","computed":true},"vrack_name":{"type":"string","description":"Name of the vRack on which the current Load Balancer is attached to, as it is named on vRack product","description_kind":"plain","computed":true},"zone":{"type":["list","string"],"description":"Location where your service is","description_kind":"plain","computed":true}},"block_types":{"order":{"nesting_mode":"list","block":{"attributes":{"date":{"type":"string","description":"date","description_kind":"plain","computed":true},"details":{"type":["list",["object",{"description":"string","domain":"string","order_detail_id":"number","quantity":"string"}]],"description":"Information about a Bill entry","description_kind":"plain","computed":true},"expiration_date":{"type":"string","description":"expiration date","description_kind":"plain","computed":true},"order_id":{"type":"number","description":"order id","description_kind":"plain","computed":true}},"description":"Details about an Order","description_kind":"plain"}},"plan":{"nesting_mode":"list","block":{"attributes":{"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"duration":{"type":"string","description":"duration","description_kind":"plain","required":true},"plan_code":{"type":"string","description":"Plan code","description_kind":"plain","required":true},"pricing_mode":{"type":"string","description":"Pricing model identifier","description_kind":"plain","required":true}},"block_types":{"configuration":{"nesting_mode":"list","block":{"attributes":{"label":{"type":"string","description":"Identifier of the resource","description_kind":"plain","required":true},"value":{"type":"string","description":"Path to the resource in API.OVH.COM","description_kind":"plain","required":true}},"description":"Representation of a configuration item for personalizing product","description_kind":"plain"}}},"description":"Product Plan to order","description_kind":"plain"},"min_items":1,"max_items":1},"plan_option":{"nesting_mode":"list","block":{"attributes":{"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"duration":{"type":"string","description":"duration","description_kind":"plain","required":true},"plan_code":{"type":"string","description":"Plan code","description_kind":"plain","required":true},"pricing_mode":{"type":"string","description":"Pricing model identifier","description_kind":"plain","required":true}},"block_types":{"configuration":{"nesting_mode":"list","block":{"attributes":{"label":{"type":"string","description":"Identifier of the resource","description_kind":"plain","required":true},"value":{"type":"string","description":"Path to the resource in API.OVH.COM","description_kind":"plain","required":true}},"description":"Representation of a configuration item for personalizing product","description_kind":"plain"}}},"description":"Product Plan to order","description_kind":"plain"}}},"description_kind":"plain"}},"ovh_iploadbalancing_http_farm":{"version":0,"block":{"attributes":{"balance":{"type":"string","description_kind":"plain","optional":true},"display_name":{"type":"string","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"port":{"type":"number","description_kind":"plain","optional":true},"service_name":{"type":"string","description_kind":"plain","required":true},"stickiness":{"type":"string","description_kind":"plain","optional":true},"vrack_network_id":{"type":"number","description_kind":"plain","optional":true},"zone":{"type":"string","description_kind":"plain","required":true}},"block_types":{"probe":{"nesting_mode":"list","block":{"attributes":{"force_ssl":{"type":"bool","description_kind":"plain","optional":true},"interval":{"type":"number","description_kind":"plain","optional":true},"match":{"type":"string","description_kind":"plain","optional":true,"computed":true},"method":{"type":"string","description_kind":"plain","optional":true,"computed":true},"negate":{"type":"bool","description_kind":"plain","optional":true},"pattern":{"type":"string","description_kind":"plain","optional":true,"computed":true},"port":{"type":"number","description_kind":"plain","optional":true,"computed":true},"type":{"type":"string","description_kind":"plain","required":true},"url":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"ovh_iploadbalancing_http_farm_server":{"version":0,"block":{"attributes":{"address":{"type":"string","description_kind":"plain","required":true},"backup":{"type":"bool","description_kind":"plain","optional":true},"chain":{"type":"string","description_kind":"plain","optional":true},"cookie":{"type":"string","description_kind":"plain","computed":true},"display_name":{"type":"string","description_kind":"plain","optional":true},"farm_id":{"type":"number","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"on_marked_down":{"type":"string","description_kind":"plain","optional":true},"port":{"type":"number","description_kind":"plain","optional":true},"probe":{"type":"bool","description_kind":"plain","optional":true},"proxy_protocol_version":{"type":"string","description_kind":"plain","optional":true},"service_name":{"type":"string","description_kind":"plain","required":true},"ssl":{"type":"bool","description_kind":"plain","optional":true},"status":{"type":"string","description_kind":"plain","required":true},"weight":{"type":"number","description_kind":"plain","optional":true}},"description_kind":"plain"}},"ovh_iploadbalancing_http_frontend":{"version":0,"block":{"attributes":{"allowed_source":{"type":["set","string"],"description_kind":"plain","optional":true},"dedicated_ipfo":{"type":["set","string"],"description_kind":"plain","optional":true},"default_farm_id":{"type":"number","description_kind":"plain","optional":true,"computed":true},"default_ssl_id":{"type":"number","description_kind":"plain","optional":true,"computed":true},"disabled":{"type":"bool","description_kind":"plain","optional":true},"display_name":{"type":"string","description_kind":"plain","optional":true},"hsts":{"type":"bool","description_kind":"plain","optional":true},"http_header":{"type":["list","string"],"description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"port":{"type":"string","description_kind":"plain","required":true},"redirect_location":{"type":"string","description_kind":"plain","optional":true},"service_name":{"type":"string","description_kind":"plain","required":true},"ssl":{"type":"bool","description_kind":"plain","optional":true},"zone":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_iploadbalancing_http_route":{"version":0,"block":{"attributes":{"display_name":{"type":"string","description":"Human readable name for your route, this field is for you","description_kind":"plain","optional":true},"frontend_id":{"type":"number","description":"Route traffic for this frontend","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"rules":{"type":["list",["object",{"field":"string","match":"string","negate":"bool","pattern":"string","rule_id":"number","sub_field":"string"}]],"description":"List of rules to match to trigger action","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"The internal name of your IP load balancing","description_kind":"plain","required":true},"status":{"type":"string","description":"Route status. Routes in \"ok\" state are ready to operate","description_kind":"plain","computed":true},"weight":{"type":"number","description":"Route priority ([0..255]). 0 if null. Highest priority routes are evaluated last. Only the first matching route will trigger an action","description_kind":"plain","optional":true,"computed":true}},"block_types":{"action":{"nesting_mode":"list","block":{"attributes":{"status":{"type":"number","description":"HTTP status code for \"redirect\" and \"reject\" actions","description_kind":"plain","optional":true},"target":{"type":"string","description":"Farm ID for \"farm\" action type or URL template for \"redirect\" action. You may use ${uri}, ${protocol}, ${host}, ${port} and ${path} variables in redirect target","description_kind":"plain","optional":true},"type":{"type":"string","description":"Action to trigger if all the rules of this route matches","description_kind":"plain","required":true}},"description":"Action triggered when all rules match","description_kind":"plain"},"min_items":1,"max_items":1}},"description_kind":"plain"}},"ovh_iploadbalancing_http_route_rule":{"version":0,"block":{"attributes":{"display_name":{"type":"string","description_kind":"plain","optional":true},"field":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"match":{"type":"string","description_kind":"plain","required":true},"negate":{"type":"bool","description_kind":"plain","optional":true,"computed":true},"pattern":{"type":"string","description_kind":"plain","optional":true},"route_id":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"sub_field":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}},"ovh_iploadbalancing_refresh":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"keepers":{"type":["list","string"],"description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_iploadbalancing_tcp_farm":{"version":0,"block":{"attributes":{"balance":{"type":"string","description_kind":"plain","optional":true},"display_name":{"type":"string","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"port":{"type":"number","description_kind":"plain","optional":true},"service_name":{"type":"string","description_kind":"plain","required":true},"stickiness":{"type":"string","description_kind":"plain","optional":true},"vrack_network_id":{"type":"number","description_kind":"plain","optional":true},"zone":{"type":"string","description_kind":"plain","required":true}},"block_types":{"probe":{"nesting_mode":"list","block":{"attributes":{"force_ssl":{"type":"bool","description_kind":"plain","optional":true},"interval":{"type":"number","description_kind":"plain","optional":true},"match":{"type":"string","description_kind":"plain","optional":true,"computed":true},"method":{"type":"string","description_kind":"plain","optional":true},"negate":{"type":"bool","description_kind":"plain","optional":true},"pattern":{"type":"string","description_kind":"plain","optional":true},"port":{"type":"number","description_kind":"plain","optional":true},"type":{"type":"string","description_kind":"plain","required":true},"url":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"ovh_iploadbalancing_tcp_farm_server":{"version":0,"block":{"attributes":{"address":{"type":"string","description_kind":"plain","required":true},"backup":{"type":"bool","description_kind":"plain","optional":true},"chain":{"type":"string","description_kind":"plain","optional":true},"display_name":{"type":"string","description_kind":"plain","optional":true},"farm_id":{"type":"number","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"on_marked_down":{"type":"string","description_kind":"plain","optional":true},"port":{"type":"number","description_kind":"plain","optional":true},"probe":{"type":"bool","description_kind":"plain","optional":true},"proxy_protocol_version":{"type":"string","description_kind":"plain","optional":true},"service_name":{"type":"string","description_kind":"plain","required":true},"ssl":{"type":"bool","description_kind":"plain","optional":true},"status":{"type":"string","description_kind":"plain","required":true},"weight":{"type":"number","description_kind":"plain","optional":true}},"description_kind":"plain"}},"ovh_iploadbalancing_tcp_frontend":{"version":0,"block":{"attributes":{"allowed_source":{"type":["set","string"],"description_kind":"plain","optional":true},"dedicated_ipfo":{"type":["set","string"],"description_kind":"plain","optional":true},"default_farm_id":{"type":"number","description_kind":"plain","optional":true,"computed":true},"default_ssl_id":{"type":"number","description_kind":"plain","optional":true,"computed":true},"denied_source":{"type":["set","string"],"description_kind":"plain","optional":true},"disabled":{"type":"bool","description_kind":"plain","optional":true},"display_name":{"type":"string","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"port":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"ssl":{"type":"bool","description_kind":"plain","optional":true},"zone":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_iploadbalancing_tcp_route":{"version":0,"block":{"attributes":{"display_name":{"type":"string","description":"Human readable name for your route, this field is for you","description_kind":"plain","optional":true},"frontend_id":{"type":"number","description":"Route traffic for this frontend","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"rules":{"type":["list",["object",{"field":"string","match":"string","negate":"bool","pattern":"string","rule_id":"number","sub_field":"string"}]],"description":"List of rules to match to trigger action","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"The internal name of your IP load balancing","description_kind":"plain","required":true},"status":{"type":"string","description":"Route status. Routes in \"ok\" state are ready to operate","description_kind":"plain","computed":true},"weight":{"type":"number","description":"Route priority ([0..255]). 0 if null. Highest priority routes are evaluated last. Only the first matching route will trigger an action","description_kind":"plain","optional":true,"computed":true}},"block_types":{"action":{"nesting_mode":"list","block":{"attributes":{"target":{"type":"string","description":"Farm ID for \"farm\" action type, empty for others","description_kind":"plain","optional":true},"type":{"type":"string","description":"Action to trigger if all the rules of this route matches","description_kind":"plain","required":true}},"description":"Action triggered when all rules match","description_kind":"plain"},"min_items":1,"max_items":1}},"description_kind":"plain"}},"ovh_iploadbalancing_tcp_route_rule":{"version":0,"block":{"attributes":{"display_name":{"type":"string","description_kind":"plain","optional":true},"field":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"match":{"type":"string","description_kind":"plain","required":true},"negate":{"type":"bool","description_kind":"plain","optional":true,"computed":true},"pattern":{"type":"string","description_kind":"plain","optional":true},"route_id":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"sub_field":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}},"ovh_iploadbalancing_udp_frontend":{"version":0,"block":{"attributes":{"dedicated_ipfo":{"type":["list","string"],"description":"Only attach frontend on these ip. No restriction if null","description_kind":"markdown","optional":true,"computed":true},"default_farm_id":{"type":"number","description":"Default UDP Farm of your frontend","description_kind":"markdown","optional":true,"computed":true},"disabled":{"type":"bool","description":"Disable your frontend. Default: 'false'","description_kind":"markdown","optional":true,"computed":true},"display_name":{"type":"string","description":"Human readable name for your frontend, this field is for you","description_kind":"markdown","optional":true,"computed":true},"frontend_id":{"type":"number","description":"Id of your frontend","description_kind":"markdown","computed":true},"port":{"type":"string","description":"Port(s) attached to your frontend. Supports single port (numerical value), range (2 dash-delimited increasing ports) and comma-separated list of 'single port' and/or 'range'. Each port must be in the [1;49151] range.","description_kind":"markdown","required":true},"service_name":{"type":"string","description":"The internal name of your IP load balancing","description_kind":"markdown","required":true},"zone":{"type":"string","description":"Zone of your frontend. Use \"all\" for all owned zone.","description_kind":"markdown","required":true}},"description_kind":"plain"}},"ovh_iploadbalancing_vrack_network":{"version":0,"block":{"attributes":{"display_name":{"type":"string","description":"Human readable name for your vrack network","description_kind":"plain","optional":true},"farm_id":{"type":["list","number"],"description":"This attribute is there for documentation purpose only and isnt passed to the OVH API as it may conflicts with http/tcp farms `vrack_network_id` attribute","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"nat_ip":{"type":"string","description":"An IP block used as a pool of IPs by this Load Balancer to connect to the servers in this private network. The blck must be in the private network and reserved for the Load Balancer","description_kind":"plain","required":true},"service_name":{"type":"string","description":"The internal name of your IPloadbalancer","description_kind":"plain","required":true},"subnet":{"type":"string","description":"IP block of the private network in the vRack","description_kind":"plain","required":true},"vlan":{"type":"number","description":"VLAN of the private network in the vRack. 0 if the private network is not in a VLAN","description_kind":"plain","optional":true,"computed":true},"vrack_network_id":{"type":"number","description":"Internal Load Balancer identifier of the vRack private network","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_me_api_oauth2_client":{"version":0,"block":{"attributes":{"callback_urls":{"type":["list","string"],"description":"Callback URLs of the applications using this oauth2 client. Required if using the AUTHORIZATION_CODE flow.","description_kind":"plain","optional":true},"client_id":{"type":"string","description":"Client ID for the oauth2 client, generated during the resource creation.","description_kind":"plain","computed":true},"client_secret":{"type":"string","description":"Secret for the oauth2 client, generated during the oauth2 client creation.","description_kind":"plain","computed":true,"sensitive":true},"description":{"type":"string","description":"A description of your oauth2 client.","description_kind":"plain","required":true},"flow":{"type":"string","description":"OAuth2 flow type implemented for this oauth2 client. Can be either AUTHORIZATION_CODE or CLIENT_CREDENTIALS","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"identity":{"type":"string","description":"URN that will allow you to associate this oauth2 client with an access policy","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_me_identity_group":{"version":0,"block":{"attributes":{"creation":{"type":"string","description_kind":"plain","computed":true},"default_group":{"type":"bool","description_kind":"plain","computed":true},"description":{"type":"string","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"last_update":{"type":"string","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true},"role":{"type":"string","description_kind":"plain","optional":true},"urn":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_me_identity_user":{"version":0,"block":{"attributes":{"creation":{"type":"string","description":"Creation date of this user","description_kind":"plain","computed":true},"description":{"type":"string","description":"User description","description_kind":"plain","optional":true},"email":{"type":"string","description":"User's email","description_kind":"plain","required":true},"group":{"type":"string","description":"User's group","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"last_update":{"type":"string","description":"Last update of this user","description_kind":"plain","computed":true},"login":{"type":"string","description":"User's login suffix","description_kind":"plain","required":true},"password":{"type":"string","description":"User's password","description_kind":"plain","required":true,"sensitive":true},"password_last_update":{"type":"string","description":"When the user changed his password for the last time","description_kind":"plain","computed":true},"status":{"type":"string","description":"Current user's status","description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_me_installation_template":{"version":0,"block":{"attributes":{"base_template_name":{"type":"string","description":"OVH template name yours will be based on, choose one among the list given by compatibleTemplates function","description_kind":"plain","required":true},"bit_format":{"type":"number","description":"This template bit format (32 or 64)","description_kind":"plain","computed":true},"category":{"type":"string","description":"Category of this template (informative only). (basic, customer, hosting, other, readyToUse, virtualisation)","description_kind":"plain","computed":true},"description":{"type":"string","description":"information about this template","description_kind":"plain","computed":true},"distribution":{"type":"string","description":"the distribution this template is based on","description_kind":"plain","computed":true},"end_of_install":{"type":"string","description":"after this date, install of this template will not be possible at OVH","description_kind":"plain","computed":true},"family":{"type":"string","description":"this template family type","description_kind":"plain","computed":true},"filesystems":{"type":["list","string"],"description":"Filesystems available","description_kind":"plain","computed":true},"hard_raid_configuration":{"type":"bool","description":"This distribution supports hardware raid configuration through the OVH API","description_kind":"plain","deprecated":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"inputs":{"type":["list",["object",{"default":"string","description":"string","enum":["list","string"],"mandatory":"bool","name":"string","type":"string"}]],"description_kind":"plain","computed":true},"lvm_ready":{"type":"bool","description":"Whether this distribution supports Logical Volumes (Linux LVM)","description_kind":"plain","computed":true},"no_partitioning":{"type":"bool","description":"Partitioning customization is not available for this OS template","description_kind":"plain","computed":true},"remove_default_partition_schemes":{"type":"bool","description":"Remove default partition schemes at creation","description_kind":"plain","optional":true,"computed":true},"soft_raid_only_mirroring":{"type":"bool","description":"Partitioning customization is available but limited to mirroring for this OS template","description_kind":"plain","computed":true},"subfamily":{"type":"string","description":"this template subfamily type","description_kind":"plain","computed":true},"template_name":{"type":"string","description":"This template name","description_kind":"plain","required":true}},"block_types":{"customization":{"nesting_mode":"list","block":{"attributes":{"custom_hostname":{"type":"string","description":"Set up the server using the provided hostname instead of the default hostname","description_kind":"plain","optional":true},"post_installation_script_link":{"type":"string","description":"Indicate the URL where your postinstall customisation script is located","description_kind":"plain","optional":true},"post_installation_script_return":{"type":"string","description":"indicate the string returned by your postinstall customisation script on successful execution. Advice: your script should return a unique validation string in case of succes. A good example is 'loh1Xee7eo OK OK OK UGh8Ang1Gu'","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"ovh_me_installation_template_partition_scheme":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"name of this partitioning scheme","description_kind":"plain","required":true},"priority":{"type":"number","description":"on a reinstall, if a partitioning scheme is not specified, the one with the higher priority will be used by default, among all the compatible partitioning schemes (given the underlying hardware specifications)","description_kind":"plain","required":true},"template_name":{"type":"string","description":"This template name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_me_installation_template_partition_scheme_hardware_raid":{"version":0,"block":{"attributes":{"disks":{"type":["list","string"],"description":"Disk List. Syntax is cX:dY for disks and [cX:dY,cX:dY] for groups. With X and Y resp. the controller id and the disk id","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"mode":{"type":"string","description":"RAID mode (raid0, raid1, raid10, raid5, raid50, raid6, raid60)","description_kind":"plain","required":true},"name":{"type":"string","description":"Hardware RAID name","description_kind":"plain","required":true},"scheme_name":{"type":"string","description":"name of this partitioning scheme","description_kind":"plain","required":true},"step":{"type":"number","description":"Specifies the creation order of the hardware RAID","description_kind":"plain","required":true},"template_name":{"type":"string","description":"Template name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_me_installation_template_partition_scheme_partition":{"version":0,"block":{"attributes":{"filesystem":{"type":"string","description":"Partition filesystem","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"mountpoint":{"type":"string","description":"partition mount point","description_kind":"plain","required":true},"order":{"type":"number","description":"step or order. specifies the creation order of the partition on the disk","description_kind":"plain","required":true},"raid":{"type":"string","description":"raid partition type","description_kind":"plain","optional":true,"computed":true},"scheme_name":{"type":"string","description":"name of this partitioning scheme","description_kind":"plain","required":true},"size":{"type":"number","description":"size of partition in MB, 0 =\u003e rest of the space","description_kind":"plain","required":true},"template_name":{"type":"string","description":"Template name","description_kind":"plain","required":true},"type":{"type":"string","description":"partition type","description_kind":"plain","required":true},"volume_name":{"type":"string","description":"The volume name needed for proxmox distribution","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"ovh_vps":{"version":0,"block":{"attributes":{"cluster":{"type":"string","description_kind":"plain","computed":true},"display_name":{"type":"string","description":"Set the name displayed in Manager for your VPS (max 50 chars)","description_kind":"markdown","optional":true,"computed":true},"iam":{"nested_type":{"attributes":{"display_name":{"type":"string","description":"Resource display name","description_kind":"markdown","computed":true},"id":{"type":"string","description":"Unique identifier of the resource","description_kind":"markdown","computed":true},"tags":{"type":["map","string"],"description":"Resource tags. Tags that were internally computed are prefixed with ovh:","description_kind":"markdown","computed":true},"urn":{"type":"string","description":"Unique resource name used in policies","description_kind":"markdown","computed":true}},"nesting_mode":"single"},"description":"IAM resource metadata","description_kind":"markdown","computed":true},"keymap":{"type":"string","description":"KVM keyboard layout on VPS Cloud","description_kind":"plain","optional":true,"computed":true},"memory_limit":{"type":"number","description_kind":"plain","optional":true,"computed":true},"model":{"nested_type":{"attributes":{"available_options":{"type":["list","string"],"description_kind":"plain","optional":true,"computed":true},"datacenter":{"type":["list","string"],"description_kind":"plain","optional":true,"computed":true},"disk":{"type":"number","description_kind":"plain","optional":true,"computed":true},"maximum_additionnal_ip":{"type":"number","description_kind":"plain","optional":true,"computed":true},"memory":{"type":"number","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"offer":{"type":"string","description_kind":"plain","optional":true,"computed":true},"vcore":{"type":"number","description_kind":"plain","optional":true,"computed":true},"version":{"type":"string","description":"All versions that VPS can have","description_kind":"markdown","optional":true,"computed":true}},"nesting_mode":"single"},"description":"A structure describing characteristics of a VPS model","description_kind":"markdown","optional":true,"computed":true},"monitoring_ip_blocks":{"type":["list","string"],"description":"Ip blocks for OVH monitoring servers","description_kind":"markdown","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"netboot_mode":{"type":"string","description":"All values a VPS netboot mode can be in","description_kind":"markdown","optional":true,"computed":true},"offer_type":{"type":"string","description":"All offers a VPS can have","description_kind":"markdown","optional":true,"computed":true},"order":{"nested_type":{"attributes":{"date":{"type":"string","description_kind":"plain","computed":true},"details":{"nested_type":{"attributes":{"description":{"type":"string","description_kind":"plain","computed":true},"detail_type":{"type":"string","description":"Product type of item in order","description_kind":"markdown","computed":true},"domain":{"type":"string","description_kind":"plain","computed":true},"order_detail_id":{"type":"number","description_kind":"plain","computed":true},"quantity":{"type":"string","description_kind":"plain","computed":true}},"nesting_mode":"list"},"description_kind":"plain","computed":true},"expiration_date":{"type":"string","description_kind":"plain","computed":true},"order_id":{"type":"number","description_kind":"plain","computed":true}},"nesting_mode":"single"},"description":"Details about an Order","description_kind":"markdown","computed":true},"ovh_subsidiary":{"type":"string","description":"OVH subsidiaries","description_kind":"markdown","required":true},"plan":{"nested_type":{"attributes":{"configuration":{"nested_type":{"attributes":{"label":{"type":"string","description":"Label for your configuration item","description_kind":"markdown","required":true},"value":{"type":"string","description":"Value or resource URL on API.OVH.COM of your configuration item","description_kind":"markdown","required":true}},"nesting_mode":"list"},"description_kind":"plain","optional":true,"computed":true},"duration":{"type":"string","description":"Duration selected for the purchase of the product","description_kind":"markdown","required":true},"item_id":{"type":"number","description":"Cart item to be linked","description_kind":"markdown","optional":true},"plan_code":{"type":"string","description":"Identifier of the option offer","description_kind":"markdown","required":true},"pricing_mode":{"type":"string","description":"Pricing mode selected for the purchase of the product","description_kind":"markdown","required":true},"quantity":{"type":"number","description":"Quantity of product desired","description_kind":"markdown","optional":true}},"nesting_mode":"list"},"description_kind":"plain","optional":true,"computed":true},"plan_option":{"nested_type":{"attributes":{"configuration":{"nested_type":{"attributes":{"label":{"type":"string","description":"Label for your configuration item","description_kind":"markdown","required":true},"value":{"type":"string","description":"Value or resource URL on API.OVH.COM of your configuration item","description_kind":"markdown","required":true}},"nesting_mode":"list"},"description_kind":"plain","optional":true,"computed":true},"duration":{"type":"string","description":"Duration selected for the purchase of the product","description_kind":"markdown","required":true},"item_id":{"type":"number","description":"Cart item to be linked","description_kind":"markdown","required":true},"plan_code":{"type":"string","description":"Identifier of the option offer","description_kind":"markdown","required":true},"pricing_mode":{"type":"string","description":"Pricing mode selected for the purchase of the product","description_kind":"markdown","required":true},"quantity":{"type":"number","description":"Quantity of product desired","description_kind":"markdown","required":true}},"nesting_mode":"list"},"description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"The internal name of your VPS offer","description_kind":"markdown","computed":true},"sla_monitoring":{"type":"bool","description_kind":"plain","optional":true,"computed":true},"state":{"type":"string","description":"All states a VPS can be in","description_kind":"markdown","optional":true,"computed":true},"vcore":{"type":"number","description_kind":"plain","optional":true,"computed":true},"zone":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"ovh_vrack":{"version":0,"block":{"attributes":{"description":{"type":"string","description":"yourvrackdescription","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"yourvrackname","description_kind":"plain","optional":true,"computed":true},"ovh_subsidiary":{"type":"string","description":"Ovh Subsidiary","description_kind":"plain","required":true},"payment_mean":{"type":"string","description":"Ovh payment mode","description_kind":"plain","deprecated":true,"optional":true},"service_name":{"type":"string","description":"The internal name of your vrack","description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true}},"block_types":{"order":{"nesting_mode":"list","block":{"attributes":{"date":{"type":"string","description":"date","description_kind":"plain","computed":true},"details":{"type":["list",["object",{"description":"string","domain":"string","order_detail_id":"number","quantity":"string"}]],"description":"Information about a Bill entry","description_kind":"plain","computed":true},"expiration_date":{"type":"string","description":"expiration date","description_kind":"plain","computed":true},"order_id":{"type":"number","description":"order id","description_kind":"plain","computed":true}},"description":"Details about an Order","description_kind":"plain"}},"plan":{"nesting_mode":"list","block":{"attributes":{"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"duration":{"type":"string","description":"duration","description_kind":"plain","required":true},"plan_code":{"type":"string","description":"Plan code","description_kind":"plain","required":true},"pricing_mode":{"type":"string","description":"Pricing model identifier","description_kind":"plain","required":true}},"block_types":{"configuration":{"nesting_mode":"list","block":{"attributes":{"label":{"type":"string","description":"Identifier of the resource","description_kind":"plain","required":true},"value":{"type":"string","description":"Path to the resource in API.OVH.COM","description_kind":"plain","required":true}},"description":"Representation of a configuration item for personalizing product","description_kind":"plain"}}},"description":"Product Plan to order","description_kind":"plain"},"min_items":1,"max_items":1},"plan_option":{"nesting_mode":"list","block":{"attributes":{"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"duration":{"type":"string","description":"duration","description_kind":"plain","required":true},"plan_code":{"type":"string","description":"Plan code","description_kind":"plain","required":true},"pricing_mode":{"type":"string","description":"Pricing model identifier","description_kind":"plain","required":true}},"block_types":{"configuration":{"nesting_mode":"list","block":{"attributes":{"label":{"type":"string","description":"Identifier of the resource","description_kind":"plain","required":true},"value":{"type":"string","description":"Path to the resource in API.OVH.COM","description_kind":"plain","required":true}},"description":"Representation of a configuration item for personalizing product","description_kind":"plain"}}},"description":"Product Plan to order","description_kind":"plain"}}},"description_kind":"plain"}},"ovh_vrack_cloudproject":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"project_id":{"type":"string","description_kind":"plain","optional":true},"service_name":{"type":"string","description":"Service name of the vrack resource.","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_vrack_dedicated_server":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"server_id":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name of the resource representing the id of the cloud project.","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_vrack_dedicated_server_interface":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"interface_id":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name of the vrack resource.","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_vrack_ip":{"version":0,"block":{"attributes":{"block":{"type":"string","description":"Your IP block.","description_kind":"plain","required":true},"gateway":{"type":"string","description":"Your gateway","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip":{"type":"string","description":"Your IP block","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"The internal name of your vrack","description_kind":"plain","required":true},"zone":{"type":"string","description":"Where you want your block announced on the network","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_vrack_iploadbalancing":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_loadbalancing":{"type":"string","description":"Your ipLoadbalancing","description_kind":"plain","required":true},"service_name":{"type":"string","description":"The internal name of your vrack","description_kind":"plain","required":true}},"description_kind":"plain"}}},"data_source_schemas":{"ovh_cloud_project":{"version":0,"block":{"attributes":{"access":{"type":"string","description":"Project access","description_kind":"markdown","computed":true},"creation_date":{"type":"string","description":"Project creation date","description_kind":"markdown","computed":true},"description":{"type":"string","description":"Description of your project","description_kind":"markdown","computed":true},"expiration":{"type":"string","description":"Expiration date of your project. After this date, your project will be deleted","description_kind":"markdown","computed":true},"iam":{"nested_type":{"attributes":{"display_name":{"type":"string","description":"Resource display name","description_kind":"markdown","computed":true},"id":{"type":"string","description":"Unique identifier of the resource","description_kind":"markdown","computed":true},"tags":{"type":["map","string"],"description":"Resource tags. Tags that were internally computed are prefixed with ovh:","description_kind":"markdown","computed":true},"urn":{"type":"string","description":"Unique resource name used in policies","description_kind":"markdown","computed":true}},"nesting_mode":"single"},"description":"IAM resource metadata","description_kind":"markdown","computed":true},"manual_quota":{"type":"bool","description":"Manual quota prevent automatic quota upgrade","description_kind":"markdown","computed":true},"order_id":{"type":"number","description":"Project order id","description_kind":"markdown","computed":true},"plan_code":{"type":"string","description":"Order plan code","description_kind":"markdown","computed":true},"project_id":{"type":"string","description":"Project id","description_kind":"markdown","computed":true},"project_name":{"type":"string","description":"Project name","description_kind":"markdown","computed":true},"service_name":{"type":"string","description":"Service name","description_kind":"markdown","required":true},"status":{"type":"string","description":"Current status","description_kind":"markdown","computed":true},"unleash":{"type":"bool","description":"Project unleashed","description_kind":"markdown","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_capabilities_containerregistry":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"result":{"type":["list",["object",{"plans":["list",["object",{"code":"string","created_at":"string","features":["list",["object",{"vulnerability":"bool"}]],"id":"string","name":"string","registry_limits":["list",["object",{"image_storage":"number","parallel_request":"number"}]],"updated_at":"string"}]],"region_name":"string"}]],"description":"List of container registry capability for a single region","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_capabilities_containerregistry_filter":{"version":0,"block":{"attributes":{"code":{"type":"string","description":"Plan code from catalog","description_kind":"plain","computed":true},"created_at":{"type":"string","description":"Plan creation date","description_kind":"plain","computed":true},"features":{"type":["list",["object",{"vulnerability":"bool"}]],"description":"Features of the plan","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Plan name","description_kind":"plain","computed":true},"plan_name":{"type":"string","description":"Plan name of the registry.","description_kind":"plain","required":true},"region":{"type":"string","description":"Region of the registry.","description_kind":"plain","required":true},"registry_limits":{"type":["list",["object",{"image_storage":"number","parallel_request":"number"}]],"description":"Container registry limits","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"updated_at":{"type":"string","description":"Plan last update date","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_containerregistries":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"result":{"type":["list",["object",{"created_at":"string","id":"string","name":"string","project_id":"string","region":"string","size":"number","status":"string","updated_at":"string","url":"string","version":"string"}]],"description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_containerregistry":{"version":0,"block":{"attributes":{"created_at":{"type":"string","description":"Registry creation date","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Registry name","description_kind":"plain","computed":true},"project_id":{"type":"string","description":"Project ID of your registry","description_kind":"plain","computed":true},"region":{"type":"string","description":"Region of the registry.","description_kind":"plain","computed":true},"registry_id":{"type":"string","description":"Registry ID","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"size":{"type":"number","description":"Current size of the registry (bytes)","description_kind":"plain","computed":true},"status":{"type":"string","description":"Registry status","description_kind":"plain","computed":true},"updated_at":{"type":"string","description":"Registry last update date","description_kind":"plain","computed":true},"url":{"type":"string","description":"Access url of the registry","description_kind":"plain","computed":true},"version":{"type":"string","description":"Version of your registry","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_containerregistry_ip_restrictions_management":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_restrictions":{"type":["set",["map","string"]],"description":"List your IP restrictions applied on artifact manager component","description_kind":"plain","computed":true},"registry_id":{"type":"string","description":"Registry ID","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_containerregistry_ip_restrictions_registry":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_restrictions":{"type":["set",["map","string"]],"description":"List your IP restrictions applied on artifact manager component","description_kind":"plain","computed":true},"registry_id":{"type":"string","description":"Registry ID","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_containerregistry_oidc":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"oidc_admin_group":{"type":"string","description_kind":"plain","optional":true},"oidc_auto_onboard":{"type":"bool","description_kind":"plain","optional":true},"oidc_client_id":{"type":"string","description_kind":"plain","optional":true},"oidc_endpoint":{"type":"string","description_kind":"plain","optional":true},"oidc_groups_claim":{"type":"string","description_kind":"plain","optional":true},"oidc_name":{"type":"string","description_kind":"plain","optional":true},"oidc_scope":{"type":"string","description_kind":"plain","optional":true},"oidc_user_claim":{"type":"string","description_kind":"plain","optional":true},"oidc_verify_cert":{"type":"bool","description_kind":"plain","optional":true},"registry_id":{"type":"string","description":"Registry ID","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_containerregistry_users":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"registry_id":{"type":"string","description":"RegistryID","description_kind":"plain","required":true},"result":{"type":["list",["object",{"email":"string","id":"string","user":"string"}]],"description_kind":"plain","computed":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database":{"version":0,"block":{"attributes":{"advanced_configuration":{"type":["map","string"],"description":"Advanced configuration key / value","description_kind":"plain","computed":true},"backup_regions":{"type":["list","string"],"description":"List of region where backups are pushed","description_kind":"plain","computed":true},"backup_time":{"type":"string","description":"Time on which backups start every day","description_kind":"plain","computed":true},"created_at":{"type":"string","description":"Date of the creation of the cluster","description_kind":"plain","computed":true},"description":{"type":"string","description":"Description of the cluster","description_kind":"plain","computed":true},"disk_size":{"type":"number","description":"Disk size attributes of the cluster","description_kind":"plain","computed":true},"disk_type":{"type":"string","description":"Disk type attributes of the cluster","description_kind":"plain","computed":true},"endpoints":{"type":["list",["object",{"component":"string","domain":"string","path":"string","port":"number","scheme":"string","ssl":"bool","ssl_mode":"string","uri":"string"}]],"description":"List of all endpoints of the service","description_kind":"plain","computed":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"flavor":{"type":"string","description":"The node flavor used for this cluster","description_kind":"plain","computed":true},"id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"ip_restrictions":{"type":["set",["object",{"description":"string","ip":"string","status":"string"}]],"description":"IP Blocks authorized to access to the cluster","description_kind":"plain","computed":true},"kafka_rest_api":{"type":"bool","description":"Defines whether the REST API is enabled on a Kafka cluster","description_kind":"plain","computed":true},"kafka_schema_registry":{"type":"bool","description":"Defines whether the schema registry is enabled on a Kafka cluster","description_kind":"plain","computed":true},"maintenance_time":{"type":"string","description":"Time on which maintenances can start every day","description_kind":"plain","computed":true},"network_type":{"type":"string","description":"Type of network of the cluster","description_kind":"plain","computed":true},"nodes":{"type":["list",["object",{"network_id":"string","region":"string","subnet_id":"string"}]],"description":"List of nodes composing the service","description_kind":"plain","computed":true},"opensearch_acls_enabled":{"type":"bool","description":"Defines whether the ACLs are enabled on an Opensearch cluster","description_kind":"plain","computed":true},"plan":{"type":"string","description":"Plan of the cluster","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the cluster","description_kind":"plain","computed":true},"version":{"type":"string","description":"Version of the engine deployed on the cluster","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_capabilities":{"version":0,"block":{"attributes":{"engines":{"type":["set",["object",{"default_version":"string","description":"string","name":"string","ssl_modes":["set","string"],"versions":["set","string"]}]],"description":"Database engines available","description_kind":"plain","computed":true},"flavors":{"type":["set",["object",{"core":"number","memory":"number","name":"string","storage":"number"}]],"description":"Flavors available","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"options":{"type":["set",["object",{"name":"string","type":"string"}]],"description":"Options available","description_kind":"plain","computed":true},"plans":{"type":["set",["object",{"backup_retention":"string","description":"string","name":"string"}]],"description":"Plans available","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database_certificates":{"version":0,"block":{"attributes":{"ca":{"type":"string","description":"CA certificate used for the service","description_kind":"plain","computed":true},"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database_database":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"default":{"type":"bool","description":"Defines if the database has been created by default","description_kind":"plain","computed":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the database","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database_databases":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"database_ids":{"type":["list","string"],"description":"List of databases ids","description_kind":"plain","computed":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database_integration":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"destination_service_id":{"type":"string","description":"ID of the destination service","description_kind":"plain","computed":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description":"Integration ID","description_kind":"plain","required":true},"parameters":{"type":["map","string"],"description":"Parameters for the integration","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"source_service_id":{"type":"string","description":"ID of the source service","description_kind":"plain","computed":true},"status":{"type":"string","description":"Current status of the integration","description_kind":"plain","computed":true},"type":{"type":"string","description":"Type of the integration","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_integrations":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"integration_ids":{"type":["list","string"],"description":"List of integrations ids","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database_ip_restrictions":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"ips":{"type":["set","string"],"description":"List of IP restriction","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true}},"description_kind":"plain","deprecated":true}},"ovh_cloud_project_database_kafka_acl":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description":"Acl ID","description_kind":"plain","required":true},"permission":{"type":"string","description":"Permission to give to this username on this topic","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"topic":{"type":"string","description":"Topic affected by this acl","description_kind":"plain","computed":true},"username":{"type":"string","description":"Username affected by this acl","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_kafka_acls":{"version":0,"block":{"attributes":{"acl_ids":{"type":["list","string"],"description":"List of acl ids","description_kind":"plain","computed":true},"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database_kafka_schemaregistryacl":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description":"Shema registry ACL ID","description_kind":"plain","required":true},"permission":{"type":"string","description":"Permission to give to this username on this resource","description_kind":"plain","computed":true},"resource":{"type":"string","description":"Resource affected by this ACL","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"username":{"type":"string","description":"Username affected by this ACL","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_kafka_schemaregistryacls":{"version":0,"block":{"attributes":{"acl_ids":{"type":["list","string"],"description":"List of schema registry acl ids","description_kind":"plain","computed":true},"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database_kafka_topic":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description":"Topic ID","description_kind":"plain","required":true},"min_insync_replicas":{"type":"number","description":"Minimum insync replica accepted for this topic","description_kind":"plain","computed":true},"name":{"type":"string","description":"Name of the topic","description_kind":"plain","computed":true},"partitions":{"type":"number","description":"Number of partitions for this topic","description_kind":"plain","computed":true},"replication":{"type":"number","description":"Number of replication for this topic","description_kind":"plain","computed":true},"retention_bytes":{"type":"number","description":"Number of bytes for the retention of the data for this topic","description_kind":"plain","computed":true},"retention_hours":{"type":"number","description":"Number of hours for the retention of the data for this topic","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database_kafka_topics":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"topic_ids":{"type":["list","string"],"description":"List of topic ids","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_kafka_user_access":{"version":0,"block":{"attributes":{"cert":{"type":"string","description":"User cert","description_kind":"plain","computed":true},"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"key":{"type":"string","description":"User key for the cert","description_kind":"plain","computed":true,"sensitive":true},"service_name":{"type":"string","description_kind":"plain","required":true},"user_id":{"type":"string","description":"Id of the user","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database_log_subscription":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"created_at":{"type":"string","description":"Creation date of the subscription","description_kind":"plain","computed":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description":"Id of the subscrition","description_kind":"plain","required":true},"kind":{"type":"string","description":"Log kind name of this subscription","description_kind":"plain","computed":true},"ldp_service_name":{"type":"string","description":"Name of the destination log service","description_kind":"plain","computed":true,"sensitive":true},"resource_name":{"type":"string","description":"Name of subscribed resource, where the logs come from","description_kind":"plain","computed":true},"resource_type":{"type":"string","description":"Type of subscribed resource, where the logs come from","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"stream_id":{"type":"string","description":"Id of the target Log data platform stream","description_kind":"plain","computed":true},"updated_at":{"type":"string","description":"Last update date of the subscription","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_log_subscriptions":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"subscription_ids":{"type":["list","string"],"description":"List of log subscription ids","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_m3db_namespace":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the namespace","description_kind":"plain","required":true},"resolution":{"type":"string","description":"Resolution for an aggregated namespace","description_kind":"plain","computed":true},"retention_block_data_expiration_duration":{"type":"string","description":"Controls how long we wait before expiring stale data","description_kind":"plain","computed":true},"retention_block_size_duration":{"type":"string","description":"Controls how long to keep a block in memory before flushing to a fileset on disk","description_kind":"plain","computed":true},"retention_buffer_future_duration":{"type":"string","description":"Controls how far into the future writes to the namespace will be accepted","description_kind":"plain","computed":true},"retention_buffer_past_duration":{"type":"string","description":"Controls how far into the past writes to the namespace will be accepted","description_kind":"plain","computed":true},"retention_period_duration":{"type":"string","description":"Controls the duration of time that M3DB will retain data for the namespace","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"snapshot_enabled":{"type":"bool","description":"Defines whether M3DB will create snapshot files for this namespace","description_kind":"plain","computed":true},"type":{"type":"string","description":"Type of namespace","description_kind":"plain","computed":true},"writes_to_commit_log_enabled":{"type":"bool","description":"Defines whether M3DB will include writes to this namespace in the commit log","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_m3db_namespaces":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"namespace_ids":{"type":["list","string"],"description":"List of namespaces ids","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database_m3db_user":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"created_at":{"type":"string","description":"Date of the creation of the user","description_kind":"plain","computed":true},"group":{"type":"string","description":"Group of the user","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the user","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the user","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_mongodb_user":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"created_at":{"type":"string","description":"Date of the creation of the user","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the user with the authentication database in the format name@authDB","description_kind":"plain","required":true},"roles":{"type":["set","string"],"description":"Roles the user belongs to","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the user","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_opensearch_pattern":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description":"Pattern ID","description_kind":"plain","required":true},"max_index_count":{"type":"number","description":"Maximum number of index for this pattern","description_kind":"plain","computed":true},"pattern":{"type":"string","description":"Pattern format","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database_opensearch_patterns":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"pattern_ids":{"type":["list","string"],"description":"List of pattern ids","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database_opensearch_user":{"version":0,"block":{"attributes":{"acls":{"type":["set",["object",{"pattern":"string","permission":"string"}]],"description":"Acls of the user","description_kind":"plain","computed":true},"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"created_at":{"type":"string","description":"Date of the creation of the user","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the user","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the user","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_postgresql_connection_pool":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"database_id":{"type":"string","description":"Database used for the connection pool","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"mode":{"type":"string","description":"Connection mode to the connection pool","description_kind":"plain","computed":true},"name":{"type":"string","description":"Name of the connection pool","description_kind":"plain","required":true},"port":{"type":"number","description":"Port of the connection pool","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"size":{"type":"number","description":"Size of the connection pool","description_kind":"plain","computed":true},"ssl_mode":{"type":"string","description":"SSL connection mode for the pool","description_kind":"plain","computed":true},"uri":{"type":"string","description":"Connection URI to the pool","description_kind":"plain","computed":true},"user_id":{"type":"string","description":"User authorized to connect to the pool, if none all the users are allowed","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_postgresql_connection_pools":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"connection_pool_ids":{"type":["list","string"],"description":"List of connection pools ids","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database_postgresql_user":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"created_at":{"type":"string","description":"Date of the creation of the user","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the user","description_kind":"plain","required":true},"roles":{"type":["set","string"],"description":"Roles the user belongs to","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the user","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_redis_user":{"version":0,"block":{"attributes":{"categories":{"type":["set","string"],"description":"Categories of the user","description_kind":"plain","computed":true},"channels":{"type":["set","string"],"description":"Channels of the user","description_kind":"plain","computed":true},"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"commands":{"type":["set","string"],"description":"Commands of the user","description_kind":"plain","computed":true},"created_at":{"type":"string","description":"Date of the creation of the user","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"keys":{"type":["set","string"],"description":"Keys of the user","description_kind":"plain","computed":true},"name":{"type":"string","description":"Name of the user","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the user","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_user":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"created_at":{"type":"string","description":"Date of the creation of the user","description_kind":"plain","computed":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the user","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the user","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_users":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"user_ids":{"type":["list","string"],"description":"List of users ids","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_databases":{"version":0,"block":{"attributes":{"cluster_ids":{"type":["list","string"],"description":"List of database clusters uuids","description_kind":"plain","computed":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_failover_ip_attach":{"version":0,"block":{"attributes":{"block":{"type":"string","description":"IP block","description_kind":"plain","optional":true,"computed":true},"continent_code":{"type":"string","description":"Ip continent","description_kind":"plain","optional":true,"computed":true},"geo_loc":{"type":"string","description":"Ip location","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description":"Ip id","description_kind":"plain","computed":true},"ip":{"type":"string","description":"Ip","description_kind":"plain","optional":true,"computed":true},"progress":{"type":"number","description":"Current operation progress in percent","description_kind":"plain","computed":true},"routed_to":{"type":"string","description":"Instance where ip is routed to","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"The service name","description_kind":"plain","required":true},"status":{"type":"string","description":"Ip status","description_kind":"plain","computed":true},"sub_type":{"type":"string","description":"IP sub type","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_gateway_interface":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"Id","description_kind":"plain","required":true},"interface_id":{"type":"string","description":"Interface ID","description_kind":"plain","required":true},"ip":{"type":"string","description":"IP of the interface","description_kind":"plain","computed":true},"network_id":{"type":"string","description":"Network ID of the interface","description_kind":"plain","computed":true},"region":{"type":"string","description":"Region name","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true},"subnet_id":{"type":"string","description":"Subnet ID of the interface","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_kube":{"version":0,"block":{"attributes":{"control_plane_is_up_to_date":{"type":"bool","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"is_up_to_date":{"type":"bool","description_kind":"plain","computed":true},"kube_id":{"type":"string","description_kind":"plain","required":true},"kube_proxy_mode":{"type":"string","description_kind":"plain","optional":true},"load_balancers_subnet_id":{"type":"string","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","optional":true},"next_upgrade_versions":{"type":["set","string"],"description_kind":"plain","computed":true},"nodes_subnet_id":{"type":"string","description_kind":"plain","computed":true},"nodes_url":{"type":"string","description_kind":"plain","computed":true},"private_network_id":{"type":"string","description_kind":"plain","computed":true},"region":{"type":"string","description_kind":"plain","optional":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description_kind":"plain","computed":true},"update_policy":{"type":"string","description_kind":"plain","optional":true},"url":{"type":"string","description_kind":"plain","computed":true},"version":{"type":"string","description_kind":"plain","optional":true}},"block_types":{"customization":{"nesting_mode":"set","block":{"block_types":{"apiserver":{"nesting_mode":"set","block":{"block_types":{"admissionplugins":{"nesting_mode":"set","block":{"attributes":{"disabled":{"type":["list","string"],"description_kind":"plain","optional":true,"computed":true},"enabled":{"type":["list","string"],"description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}}},"description_kind":"plain","deprecated":true}}},"description_kind":"plain","deprecated":true}},"customization_apiserver":{"nesting_mode":"set","block":{"block_types":{"admissionplugins":{"nesting_mode":"set","block":{"attributes":{"disabled":{"type":["list","string"],"description_kind":"plain","optional":true,"computed":true},"enabled":{"type":["list","string"],"description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"customization_kube_proxy":{"nesting_mode":"set","block":{"block_types":{"iptables":{"nesting_mode":"set","block":{"attributes":{"min_sync_period":{"type":"string","description_kind":"plain","optional":true},"sync_period":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"ipvs":{"nesting_mode":"set","block":{"attributes":{"min_sync_period":{"type":"string","description_kind":"plain","optional":true},"scheduler":{"type":"string","description_kind":"plain","optional":true},"sync_period":{"type":"string","description_kind":"plain","optional":true},"tcp_fin_timeout":{"type":"string","description_kind":"plain","optional":true},"tcp_timeout":{"type":"string","description_kind":"plain","optional":true},"udp_timeout":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"ovh_cloud_project_kube_iprestrictions":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ips":{"type":["set","string"],"description":"List of IP restrictions for the cluster","description_kind":"plain","computed":true},"kube_id":{"type":"string","description":"Kube ID","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_kube_nodepool":{"version":0,"block":{"attributes":{"anti_affinity":{"type":"bool","description":"Enable anti affinity groups for nodes in the pool","description_kind":"plain","computed":true},"autoscale":{"type":"bool","description":"Enable auto-scaling for the pool","description_kind":"plain","computed":true},"autoscaling_scale_down_unneeded_time_seconds":{"type":"number","description":"scaleDownUnneededTimeSeconds for autoscaling","description_kind":"plain","computed":true},"autoscaling_scale_down_unready_time_seconds":{"type":"number","description":"scaleDownUnreadyTimeSeconds for autoscaling","description_kind":"plain","computed":true},"autoscaling_scale_down_utilization_threshold":{"type":"number","description":"scaleDownUtilizationThreshold for autoscaling","description_kind":"plain","computed":true},"available_nodes":{"type":"number","description":"Number of nodes which are actually ready in the pool","description_kind":"plain","computed":true},"created_at":{"type":"string","description":"Creation date","description_kind":"plain","computed":true},"current_nodes":{"type":"number","description":"Number of nodes present in the pool","description_kind":"plain","computed":true},"desired_nodes":{"type":"number","description":"Number of nodes you desire in the pool","description_kind":"plain","computed":true},"flavor":{"type":"string","description":"Flavor name","description_kind":"plain","computed":true},"flavor_name":{"type":"string","description":"Flavor name","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kube_id":{"type":"string","description":"Kube ID","description_kind":"plain","required":true},"max_nodes":{"type":"number","description":"Number of nodes you desire in the pool","description_kind":"plain","computed":true},"min_nodes":{"type":"number","description":"Number of nodes you desire in the pool","description_kind":"plain","computed":true},"monthly_billed":{"type":"bool","description":"Enable monthly billing on all nodes in the pool","description_kind":"plain","computed":true},"name":{"type":"string","description":"NodePool resource name","description_kind":"plain","required":true},"project_id":{"type":"string","description":"Project id","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true},"size_status":{"type":"string","description":"Status describing the state between number of nodes wanted and available ones","description_kind":"plain","computed":true},"status":{"type":"string","description":"Current status","description_kind":"plain","computed":true},"up_to_date_nodes":{"type":"number","description":"Number of nodes with latest version installed in the pool","description_kind":"plain","computed":true},"updated_at":{"type":"string","description":"Last update date","description_kind":"plain","computed":true}},"block_types":{"template":{"nesting_mode":"set","block":{"block_types":{"metadata":{"nesting_mode":"set","block":{"attributes":{"annotations":{"type":["map","string"],"description":"annotations","description_kind":"plain","optional":true},"finalizers":{"type":["list","string"],"description":"finalizers","description_kind":"plain","optional":true},"labels":{"type":["map","string"],"description":"labels","description_kind":"plain","optional":true}},"description":"metadata","description_kind":"plain"},"max_items":1},"spec":{"nesting_mode":"set","block":{"attributes":{"taints":{"type":["list",["map","string"]],"description":"taints","description_kind":"plain","optional":true},"unschedulable":{"type":"bool","description":"unschedulable","description_kind":"plain","optional":true}},"description":"spec","description_kind":"plain"},"max_items":1}},"description":"Node pool template","description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"ovh_cloud_project_kube_nodepool_nodes":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kube_id":{"type":"string","description":"Kube ID","description_kind":"plain","required":true},"name":{"type":"string","description":"NodePool resource name","description_kind":"plain","required":true},"nodes":{"type":["list",["object",{"created_at":"string","deployed_at":"string","flavor":"string","id":"string","instance_id":"string","is_up_to_date":"bool","name":"string","node_pool_id":"string","project_id":"string","status":"string","updated_at":"string","version":"string"}]],"description":"Nodes composing the node pool","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_kube_nodes":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kube_id":{"type":"string","description":"Kube ID","description_kind":"plain","required":true},"nodes":{"type":["list",["object",{"created_at":"string","deployed_at":"string","flavor":"string","id":"string","instance_id":"string","is_up_to_date":"bool","name":"string","node_pool_id":"string","project_id":"string","status":"string","updated_at":"string","version":"string"}]],"description":"Nodes composing the cluster","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_kube_oidc":{"version":0,"block":{"attributes":{"client_id":{"type":"string","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"issuer_url":{"type":"string","description_kind":"plain","optional":true},"kube_id":{"type":"string","description":"Kube ID","description_kind":"plain","required":true},"oidc_ca_content":{"type":"string","description_kind":"plain","optional":true},"oidc_groups_claim":{"type":["list","string"],"description_kind":"plain","optional":true},"oidc_groups_prefix":{"type":"string","description_kind":"plain","optional":true},"oidc_required_claim":{"type":["list","string"],"description_kind":"plain","optional":true},"oidc_signing_algs":{"type":["list","string"],"description_kind":"plain","optional":true},"oidc_username_claim":{"type":"string","description_kind":"plain","optional":true},"oidc_username_prefix":{"type":"string","description_kind":"plain","optional":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_loadbalancer":{"version":0,"block":{"attributes":{"created_at":{"type":"string","description":"The UTC date and timestamp when the loadbalancer was created","description_kind":"markdown","computed":true},"flavor_id":{"type":"string","description":"ID of the flavor","description_kind":"markdown","computed":true},"floating_ip":{"nested_type":{"attributes":{"id":{"type":"string","description":"ID of the floating IP","description_kind":"markdown","computed":true},"ip":{"type":"string","description":"IP Address of the floating IP","description_kind":"markdown","computed":true}},"nesting_mode":"single"},"description":"Information about floating IP","description_kind":"markdown","computed":true},"id":{"type":"string","description":"Load balancer ID","description_kind":"markdown","required":true},"name":{"type":"string","description":"Name of the loadbalancer","description_kind":"markdown","computed":true},"operating_status":{"type":"string","description":"Operating status of the loadbalancer","description_kind":"markdown","computed":true},"provisioning_status":{"type":"string","description":"Provisioning status of the loadbalancer","description_kind":"markdown","computed":true},"region_name":{"type":"string","description":"Region of the loadbalancer","description_kind":"markdown","required":true},"service_name":{"type":"string","description":"Service name","description_kind":"markdown","required":true},"updated_at":{"type":"string","description":"UTC date and timestamp when the loadbalancer was updated","description_kind":"markdown","computed":true},"vip_address":{"type":"string","description":"IP address of the Virtual IP","description_kind":"markdown","computed":true},"vip_network_id":{"type":"string","description":"Openstack ID of the network for the Virtual IP","description_kind":"markdown","computed":true},"vip_subnet_id":{"type":"string","description":"ID of the subnet for the Virtual IP","description_kind":"markdown","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_loadbalancers":{"version":0,"block":{"attributes":{"loadbalancers":{"nested_type":{"attributes":{"created_at":{"type":"string","description":"The UTC date and timestamp when the loadbalancer was created","description_kind":"markdown","computed":true},"flavor_id":{"type":"string","description":"ID of the flavor","description_kind":"markdown","computed":true},"floating_ip":{"nested_type":{"attributes":{"id":{"type":"string","description":"ID of the floating IP","description_kind":"markdown","computed":true},"ip":{"type":"string","description":"IP Address of the floating IP","description_kind":"markdown","computed":true}},"nesting_mode":"single"},"description":"Information about floating IP","description_kind":"markdown","computed":true},"id":{"type":"string","description":"ID of the loadbalancer","description_kind":"markdown","computed":true},"name":{"type":"string","description":"Name of the loadbalancer","description_kind":"markdown","computed":true},"operating_status":{"type":"string","description":"Operating status of the loadbalancer","description_kind":"markdown","computed":true},"provisioning_status":{"type":"string","description":"Provisioning status of the loadbalancer","description_kind":"markdown","computed":true},"region":{"type":"string","description":"Region of the loadbalancer","description_kind":"markdown","computed":true},"updated_at":{"type":"string","description":"UTC date and timestamp when the loadbalancer was updated","description_kind":"markdown","computed":true},"vip_address":{"type":"string","description":"IP address of the Virtual IP","description_kind":"markdown","computed":true},"vip_network_id":{"type":"string","description":"Openstack ID of the network for the Virtual IP","description_kind":"markdown","computed":true},"vip_subnet_id":{"type":"string","description":"ID of the subnet for the Virtual IP","description_kind":"markdown","computed":true}},"nesting_mode":"set"},"description_kind":"plain","computed":true},"region_name":{"type":"string","description":"Region name","description_kind":"markdown","required":true},"service_name":{"type":"string","description":"Service name","description_kind":"markdown","required":true}},"description_kind":"plain"}},"ovh_cloud_project_region":{"version":0,"block":{"attributes":{"continent_code":{"type":"string","description_kind":"plain","computed":true},"datacenter_location":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name of the resource representing the id of the cloud project.","description_kind":"plain","required":true},"services":{"type":["set",["object",{"name":"string","status":"string"}]],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_region_loadbalancer_log_subscription":{"version":0,"block":{"attributes":{"created_at":{"type":"string","description":"Creation date of the subscription","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kind":{"type":"string","description":"Log kind name of this subscription","description_kind":"plain","computed":true},"ldp_service_name":{"type":"string","description":"Name of the destination log service","description_kind":"plain","computed":true},"loadbalancer_id":{"type":"string","description":"ID representing the loadbalancer of the resource","description_kind":"plain","required":true},"region_name":{"type":"string","description":"Region name of the resource representing the name of the region.","description_kind":"plain","required":true},"resource_name":{"type":"string","description":"Name of subscribed resource, where the logs come from","description_kind":"plain","computed":true},"resource_type":{"type":"string","description":"Type of subscribed resource, where the logs come from","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"Service name of the resource representing the id of the cloud project.","description_kind":"plain","required":true},"stream_id":{"type":"string","description":"Id of the target Log data platform stream","description_kind":"plain","computed":true},"subscription_id":{"type":"string","description":"ID representing the subscription","description_kind":"plain","required":true},"updated_at":{"type":"string","description":"Last update date of the subscription","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_region_loadbalancer_log_subscriptions":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kind":{"type":"string","description":"Kind representing the loadbalancer.","description_kind":"plain","optional":true},"loadbalancer_id":{"type":"string","description":"ID representing the loadbalancer of the resource","description_kind":"plain","required":true},"region_name":{"type":"string","description":"Region name of the resource representing the name of the region.","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name of the resource representing the id of the cloud project.","description_kind":"plain","required":true},"subscription_ids":{"type":["list","string"],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_regions":{"version":0,"block":{"attributes":{"has_services_up":{"type":["list","string"],"description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"names":{"type":["set","string"],"description_kind":"plain","computed":true},"service_name":{"type":"string","description":"Service name of the resource representing the id of the cloud project.","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_user":{"version":0,"block":{"attributes":{"creation_date":{"type":"string","description_kind":"plain","computed":true},"description":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"roles":{"type":["list",["object",{"description":"string","id":"string","name":"string","permissions":["set","string"]}]],"description_kind":"plain","computed":true},"service_name":{"type":"string","description":"Service name of the resource representing the id of the cloud project.","description_kind":"plain","required":true},"status":{"type":"string","description_kind":"plain","computed":true},"user_id":{"type":"string","description":"The user ID","description_kind":"plain","required":true},"username":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_user_s3_credential":{"version":0,"block":{"attributes":{"access_key_id":{"type":"string","description":"The access key","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"secret_access_key":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"service_name":{"type":"string","description":"Service name of the resource representing the ID of the cloud project.","description_kind":"plain","required":true},"user_id":{"type":"string","description":"The user ID","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_user_s3_credentials":{"version":0,"block":{"attributes":{"access_key_ids":{"type":["list","string"],"description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"Service name of the resource representing the ID of the cloud project.","description_kind":"plain","required":true},"user_id":{"type":"string","description":"The user ID","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_user_s3_policy":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"policy":{"type":"string","description":"The policy document. This is a JSON formatted string.","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"Service name of the resource representing the ID of the cloud project.","description_kind":"plain","required":true},"user_id":{"type":"string","description":"The user ID","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_users":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"Service name of the resource representing the id of the cloud project.","description_kind":"plain","required":true},"users":{"type":["list",["object",{"creation_date":"string","description":"string","roles":["list",["object",{"description":"string","id":"string","name":"string","permissions":["set","string"]}]],"status":"string","user_id":"string","username":"string"}]],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_vrack":{"version":0,"block":{"attributes":{"description":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_projects":{"version":0,"block":{"attributes":{"projects":{"nested_type":{"attributes":{"access":{"type":"string","description":"Project access","description_kind":"markdown","computed":true},"creation_date":{"type":"string","description":"Project creation date","description_kind":"markdown","computed":true},"description":{"type":"string","description":"Description of your project","description_kind":"markdown","computed":true},"expiration":{"type":"string","description":"Expiration date of your project. After this date, your project will be deleted","description_kind":"markdown","computed":true},"iam":{"nested_type":{"attributes":{"display_name":{"type":"string","description":"Resource display name","description_kind":"markdown","computed":true},"id":{"type":"string","description":"Unique identifier of the resource","description_kind":"markdown","computed":true},"tags":{"type":["map","string"],"description":"Resource tags. Tags that were internally computed are prefixed with ovh:","description_kind":"markdown","computed":true},"urn":{"type":"string","description":"Unique resource name used in policies","description_kind":"markdown","computed":true}},"nesting_mode":"single"},"description":"IAM resource metadata","description_kind":"markdown","computed":true},"manual_quota":{"type":"bool","description":"Manual quota prevent automatic quota upgrade","description_kind":"markdown","computed":true},"order_id":{"type":"number","description":"Project order id","description_kind":"markdown","computed":true},"plan_code":{"type":"string","description":"Order plan code","description_kind":"markdown","computed":true},"project_id":{"type":"string","description":"Project id","description_kind":"markdown","computed":true},"project_name":{"type":"string","description":"Project name","description_kind":"markdown","computed":true},"service_name":{"type":"string","description":"Service name","description_kind":"markdown","computed":true},"status":{"type":"string","description":"Current status","description_kind":"markdown","computed":true},"unleash":{"type":"bool","description":"Project unleashed","description_kind":"markdown","computed":true}},"nesting_mode":"set"},"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_dbaas_logs_cluster":{"version":0,"block":{"attributes":{"archive_allowed_networks":{"type":["set","string"],"description":"Allowed networks for ARCHIVE flow type","description_kind":"plain","computed":true},"cluster_id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"cluster_type":{"type":"string","description":"Cluster type","description_kind":"plain","computed":true},"dedicated_input_pem":{"type":"string","description":"PEM for dedicated inputs","description_kind":"plain","computed":true,"sensitive":true},"direct_input_allowed_networks":{"type":["set","string"],"description":"Allowed networks for DIRECT_INPUT flow type","description_kind":"plain","computed":true},"direct_input_pem":{"type":"string","description":"PEM for direct inputs","description_kind":"plain","computed":true,"sensitive":true},"hostname":{"type":"string","description":"hostname","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"is_default":{"type":"bool","description":"All content generated by given service will be placed on this cluster","description_kind":"plain","computed":true},"is_unlocked":{"type":"bool","description":"Allow given service to perform advanced operations on cluster","description_kind":"plain","computed":true},"query_allowed_networks":{"type":["set","string"],"description":"Allowed networks for QUERY flow type","description_kind":"plain","computed":true},"region":{"type":"string","description":"Data center localization","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"The service name","description_kind":"plain","required":true},"urn":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_dbaas_logs_cluster_retention":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"markdown","required":true},"duration":{"type":"string","description":"Indexed duration expressed in ISO-8601 format","description_kind":"markdown","optional":true,"computed":true},"is_supported":{"type":"bool","description":"Indicates if a new stream can use it","description_kind":"markdown","computed":true},"retention_id":{"type":"string","description":"Retention ID","description_kind":"markdown","optional":true,"computed":true},"service_name":{"type":"string","description":"Service name","description_kind":"markdown","required":true}},"description_kind":"plain"}},"ovh_dbaas_logs_clusters":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"The service name","description_kind":"plain","required":true},"urn":{"type":"string","description_kind":"plain","computed":true},"uuids":{"type":["set","string"],"description":"UUID of clusters","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_dbaas_logs_input_engine":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"is_deprecated":{"type":"bool","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"The service name","description_kind":"plain","required":true},"version":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"ovh_dbaas_logs_output_graylog_stream":{"version":0,"block":{"attributes":{"can_alert":{"type":"bool","description":"Indicates if the current user can create alert on the stream","description_kind":"plain","computed":true},"cold_storage_compression":{"type":"string","description":"Cold storage compression method","description_kind":"plain","computed":true},"cold_storage_content":{"type":"string","description":"ColdStorage content","description_kind":"plain","computed":true},"cold_storage_enabled":{"type":"bool","description":"Is Cold storage enabled?","description_kind":"plain","computed":true},"cold_storage_notify_enabled":{"type":"bool","description":"Notify on new Cold storage archive","description_kind":"plain","computed":true},"cold_storage_retention":{"type":"number","description":"Cold storage retention in year","description_kind":"plain","computed":true},"cold_storage_target":{"type":"string","description":"ColdStorage destination","description_kind":"plain","computed":true},"created_at":{"type":"string","description":"Stream creation","description_kind":"plain","computed":true},"description":{"type":"string","description":"Stream description","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"indexing_enabled":{"type":"bool","description":"Enable ES indexing","description_kind":"plain","computed":true},"indexing_max_size":{"type":"number","description":"Maximum indexing size (in GB)","description_kind":"plain","computed":true},"indexing_notify_enabled":{"type":"bool","description":"If set, notify when size is near 80, 90 or 100 % of the maximum configured setting","description_kind":"plain","computed":true},"is_editable":{"type":"bool","description":"Indicates if you are allowed to edit entry","description_kind":"plain","computed":true},"is_shareable":{"type":"bool","description":"Indicates if you are allowed to share entry","description_kind":"plain","computed":true},"nb_alert_condition":{"type":"number","description":"Number of alert condition","description_kind":"plain","computed":true},"nb_archive":{"type":"number","description":"Number of coldstored archives","description_kind":"plain","computed":true},"parent_stream_id":{"type":"string","description":"Parent stream ID","description_kind":"plain","computed":true},"pause_indexing_on_max_size":{"type":"bool","description":"If set, pause indexing when maximum size is reach","description_kind":"plain","computed":true},"retention_id":{"type":"string","description":"Retention ID","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"The service name","description_kind":"plain","required":true},"stream_id":{"type":"string","description":"Stream ID","description_kind":"plain","computed":true},"title":{"type":"string","description":"Stream description","description_kind":"plain","required":true},"updated_at":{"type":"string","description":"Stream last update","description_kind":"plain","computed":true},"web_socket_enabled":{"type":"bool","description":"Enable Websocket","description_kind":"plain","computed":true},"write_token":{"type":"string","description":"Write token of the stream","description_kind":"plain","computed":true,"sensitive":true}},"description_kind":"plain"}},"ovh_dedicated_ceph":{"version":0,"block":{"attributes":{"ceph_mons":{"type":["list","string"],"description_kind":"plain","computed":true},"ceph_version":{"type":"string","description_kind":"plain","optional":true,"computed":true},"crush_tunables":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"label":{"type":"string","description_kind":"plain","computed":true},"region":{"type":"string","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"size":{"type":"number","description_kind":"plain","computed":true},"state":{"type":"string","description_kind":"plain","computed":true},"status":{"type":"string","description_kind":"plain","optional":true,"computed":true},"urn":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_dedicated_installation_template":{"version":0,"block":{"attributes":{"bit_format":{"type":"number","description":"Template bit format (32 or 64)","description_kind":"plain","computed":true},"category":{"type":"string","description":"Category of this template (informative only)","description_kind":"plain","computed":true},"description":{"type":"string","description":"Description of the template","description_kind":"plain","computed":true},"distribution":{"type":"string","description":"Distribution this template is based on","description_kind":"plain","computed":true},"end_of_install":{"type":"string","description":"After this date, install of this template will not be possible at OVH","description_kind":"plain","computed":true},"family":{"type":"string","description":"Template family type (bsd,linux,solaris,windows)","description_kind":"plain","computed":true},"filesystems":{"type":["list","string"],"description":"Filesystems available","description_kind":"plain","computed":true},"hard_raid_configuration":{"type":"bool","description":"Distribution supports hardware raid configuration through the OVH API","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"inputs":{"type":["list",["object",{"default":"string","description":"string","enum":["list","string"],"mandatory":"bool","name":"string","type":"string"}]],"description_kind":"plain","computed":true},"license":{"type":["list",["object",{"os":["set",["object",{"name":["list","string"],"url":"string"}]],"usage":["set",["object",{"name":["list","string"],"url":"string"}]]}]],"description_kind":"plain","computed":true},"lvm_ready":{"type":"bool","description":"Whether this distribution supports Logical Volumes (Linux LVM)","description_kind":"plain","computed":true},"no_partitioning":{"type":"bool","description":"Template supports RAID0 and RAID1 on 2 disks","description_kind":"plain","computed":true},"project":{"type":["list",["object",{"os":["list",["object",{"governance":["list","string"],"name":"string","release_notes":"string","url":"string","version":"string"}]],"usage":["list",["object",{"governance":["list","string"],"name":"string","release_notes":"string","url":"string","version":"string"}]]}]],"description":"Distribution project details","description_kind":"plain","computed":true},"soft_raid_only_mirroring":{"type":"bool","description":"Partitioning customization is available but limited to mirroring for this OS template","description_kind":"plain","computed":true},"subfamily":{"type":"string","description":"Template subfamily type","description_kind":"plain","computed":true},"template_name":{"type":"string","description":"Template name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_dedicated_installation_templates":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"result":{"type":["list","string"],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_dedicated_nasha":{"version":0,"block":{"attributes":{"can_create_partition":{"type":"bool","description":"True, if partition creation is allowed on this HA-NAS","description_kind":"plain","computed":true},"custom_name":{"type":"string","description":"The name you give to the HA-NAS","description_kind":"plain","computed":true},"datacenter":{"type":"string","description":"area of HA-NAS","description_kind":"plain","computed":true},"disk_type":{"type":"string","description":"the disk type of the HA-NAS","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip":{"type":"string","description":"Access IP of HA-NAS","description_kind":"plain","computed":true},"monitored":{"type":"bool","description":"Send an email to customer if any issue is detected","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"The storage service name","description_kind":"plain","required":true},"urn":{"type":"string","description_kind":"plain","computed":true},"zpool_capacity":{"type":"number","description":"percentage of HA-NAS space used in %","description_kind":"plain","computed":true},"zpool_size":{"type":"number","description":"the size of the HA-NAS","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_dedicated_server":{"version":0,"block":{"attributes":{"boot_id":{"type":"number","description_kind":"plain","computed":true},"boot_script":{"type":"string","description_kind":"plain","computed":true},"commercial_range":{"type":"string","description":"dedicater server commercial range","description_kind":"plain","computed":true},"datacenter":{"type":"string","description":"dedicated datacenter localisation (bhs1,bhs2,...)","description_kind":"plain","computed":true},"display_name":{"type":"string","description_kind":"plain","computed":true},"enabled_public_vnis":{"type":["list","string"],"description":"List of enabled public VNI uuids","description_kind":"plain","computed":true},"enabled_vrack_aggregation_vnis":{"type":["list","string"],"description":"List of enabled vrack_aggregation VNI uuids","description_kind":"plain","computed":true},"enabled_vrack_vnis":{"type":["list","string"],"description":"List of enabled vrack VNI uuids","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip":{"type":"string","description":"dedicated server ip (IPv4)","description_kind":"plain","computed":true},"ips":{"type":["list","string"],"description":"dedicated server ip blocks","description_kind":"plain","computed":true},"link_speed":{"type":"number","description_kind":"plain","computed":true},"monitoring":{"type":"bool","description":"Icmp monitoring state","description_kind":"plain","computed":true},"name":{"type":"string","description":"dedicated server name","description_kind":"plain","computed":true},"os":{"type":"string","description":"Operating system","description_kind":"plain","computed":true},"professional_use":{"type":"bool","description":"Does this server have professional use option","description_kind":"plain","computed":true},"rack":{"type":"string","description_kind":"plain","computed":true},"rescue_mail":{"type":"string","description_kind":"plain","computed":true},"reverse":{"type":"string","description":"dedicated server reverse","description_kind":"plain","computed":true},"root_device":{"type":"string","description_kind":"plain","computed":true},"server_id":{"type":"number","description":"your server id","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"state":{"type":"string","description":"error, hacked, hackedBlocked, ok","description_kind":"plain","computed":true},"support_level":{"type":"string","description":"Dedicated server support level (critical, fastpath, gs, pro)","description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true},"vnis":{"type":["list",["object",{"enabled":"bool","mode":"string","name":"string","nics":["list","string"],"server_name":"string","uuid":"string","vrack":"string"}]],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_dedicated_server_boots":{"version":0,"block":{"attributes":{"boot_type":{"type":"string","description":"Filter the value of bootType property","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kernel":{"type":"string","description":"Filter the value of kernel property","description_kind":"plain","optional":true},"result":{"type":["list","number"],"description":"Server compatibles netboots ids","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"The internal name of your dedicated server.","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_dedicated_server_specifications_hardware":{"version":0,"block":{"attributes":{"boot_mode":{"type":"string","description":"Server boot mode","description_kind":"markdown","computed":true},"cores_per_processor":{"type":"number","description":"number of cores per processor","description_kind":"markdown","computed":true},"default_hardware_raid_size":{"nested_type":{"attributes":{"unit":{"type":"string","description_kind":"plain","computed":true},"value":{"type":"number","description_kind":"plain","computed":true}},"nesting_mode":"single"},"description":"Default hardware raid size for this server","description_kind":"markdown","computed":true},"default_hardware_raid_type":{"type":"string","description":"Default hardware raid type configured on this server","description_kind":"markdown","computed":true},"description":{"type":"string","description":"commercial name of this server","description_kind":"markdown","computed":true},"disk_groups":{"nested_type":{"attributes":{"default_hardware_raid_size":{"nested_type":{"attributes":{"unit":{"type":"string","description_kind":"plain","computed":true},"value":{"type":"number","description_kind":"plain","computed":true}},"nesting_mode":"single"},"description":"default hardware raid size for this disk group","description_kind":"markdown","computed":true},"default_hardware_raid_type":{"type":"string","description":"default hardware raid type for this disk group","description_kind":"markdown","computed":true},"description":{"type":"string","description":"human readable description of this disk group","description_kind":"markdown","computed":true},"disk_group_id":{"type":"number","description":"identifier of this disk group","description_kind":"markdown","computed":true},"disk_size":{"nested_type":{"attributes":{"unit":{"type":"string","description_kind":"plain","computed":true},"value":{"type":"number","description_kind":"plain","computed":true}},"nesting_mode":"single"},"description":"disk capacity","description_kind":"markdown","computed":true},"disk_type":{"type":"string","description":"type of the disk (SSD, SATA, SAS, ...)","description_kind":"markdown","computed":true},"number_of_disks":{"type":"number","description":"number of disks in this group","description_kind":"markdown","computed":true},"raid_controller":{"type":"string","description":"raid controller, if any, managing this group of disks","description_kind":"markdown","computed":true}},"nesting_mode":"list"},"description":"details about the groups of disks in the server","description_kind":"markdown","computed":true},"expansion_cards":{"nested_type":{"attributes":{"description":{"type":"string","description":"expansion card description","description_kind":"markdown","computed":true},"type":{"type":"string","description":"Expansion card type enum","description_kind":"markdown","computed":true}},"nesting_mode":"list"},"description":"details about the server's expansion cards","description_kind":"markdown","computed":true},"form_factor":{"type":"string","description":"Server form factor","description_kind":"markdown","computed":true},"memory_size":{"nested_type":{"attributes":{"unit":{"type":"string","description_kind":"plain","computed":true},"value":{"type":"number","description_kind":"plain","computed":true}},"nesting_mode":"single"},"description":"ram capacity","description_kind":"markdown","computed":true},"motherboard":{"type":"string","description":"server motherboard","description_kind":"markdown","computed":true},"number_of_processors":{"type":"number","description":"number of processors in this dedicated server","description_kind":"markdown","computed":true},"processor_architecture":{"type":"string","description":"processor architecture bit","description_kind":"markdown","computed":true},"processor_name":{"type":"string","description":"processor name","description_kind":"markdown","computed":true},"service_name":{"type":"string","description":"The internal name of your dedicated server","description_kind":"markdown","required":true},"threads_per_processor":{"type":"number","description":"number of threads per processor","description_kind":"markdown","computed":true},"usb_keys":{"nested_type":{"attributes":{"unit":{"type":"string","description_kind":"plain","computed":true},"value":{"type":"number","description_kind":"plain","computed":true}},"nesting_mode":"list"},"description":"Capacity of the USB keys installed on your server, if any","description_kind":"markdown","computed":true}},"description_kind":"plain"}},"ovh_dedicated_server_specifications_network":{"version":0,"block":{"attributes":{"bandwidth":{"nested_type":{"attributes":{"internet_to_ovh":{"nested_type":{"attributes":{"unit":{"type":"string","description_kind":"plain","computed":true},"value":{"type":"number","description_kind":"plain","computed":true}},"nesting_mode":"single"},"description":"bandwidth limitation Internet to OVH","description_kind":"markdown","computed":true},"ovh_to_internet":{"nested_type":{"attributes":{"unit":{"type":"string","description_kind":"plain","computed":true},"value":{"type":"number","description_kind":"plain","computed":true}},"nesting_mode":"single"},"description":"bandwidth limitation OVH to Internet","description_kind":"markdown","computed":true},"ovh_to_ovh":{"nested_type":{"attributes":{"unit":{"type":"string","description_kind":"plain","computed":true},"value":{"type":"number","description_kind":"plain","computed":true}},"nesting_mode":"single"},"description":"bandwidth limitation OVH to OVH","description_kind":"markdown","computed":true},"type":{"type":"string","description":"bandwidth offer type","description_kind":"markdown","computed":true}},"nesting_mode":"single"},"description":"Bandwidth details","description_kind":"markdown","computed":true},"connection_val":{"nested_type":{"attributes":{"unit":{"type":"string","description_kind":"plain","computed":true},"value":{"type":"number","description_kind":"plain","computed":true}},"nesting_mode":"single"},"description":"Network connection flow rate","description_kind":"markdown","computed":true},"ola":{"nested_type":{"attributes":{"available":{"type":"bool","description":"Is the OLA feature available","description_kind":"markdown","computed":true},"available_modes":{"nested_type":{"attributes":{"default":{"type":"bool","description":"Is it the default configuration of the server","description_kind":"markdown","computed":true},"interfaces":{"nested_type":{"attributes":{"aggregation":{"type":"bool","description":"Interface aggregation status","description_kind":"markdown","computed":true},"count":{"type":"number","description":"Interface count","description_kind":"markdown","computed":true},"type":{"type":"string","description":"An enum describing OVH Link Aggregation interface types","description_kind":"markdown","computed":true}},"nesting_mode":"list"},"description":"Interface layout","description_kind":"markdown","computed":true},"name":{"type":"string","description":"Mode name","description_kind":"markdown","computed":true}},"nesting_mode":"list"},"description":"What modes are supported","description_kind":"markdown","computed":true},"supported_modes":{"type":["list","string"],"description":"(DEPRECATED) What modes are supported","description_kind":"markdown","computed":true}},"nesting_mode":"single"},"description":"OLA details","description_kind":"markdown","computed":true},"routing":{"nested_type":{"attributes":{"ipv4":{"nested_type":{"attributes":{"gateway":{"type":"string","description":"Server gateway","description_kind":"markdown","computed":true},"ip":{"type":"string","description":"Server main IP","description_kind":"markdown","computed":true},"network":{"type":"string","description":"Server network","description_kind":"markdown","computed":true}},"nesting_mode":"single"},"description":"Ipv4 routing details","description_kind":"markdown","computed":true},"ipv6":{"nested_type":{"attributes":{"gateway":{"type":"string","description":"Server gateway","description_kind":"markdown","computed":true},"ip":{"type":"string","description":"Server main IP","description_kind":"markdown","computed":true},"network":{"type":"string","description":"Server network","description_kind":"markdown","computed":true}},"nesting_mode":"single"},"description":"Ipv6 routing details","description_kind":"markdown","computed":true}},"nesting_mode":"single"},"description":"Routing details","description_kind":"markdown","computed":true},"service_name":{"type":"string","description":"The internal name of your dedicated server","description_kind":"markdown","required":true},"switching":{"nested_type":{"attributes":{"name":{"type":"string","description":"Switch name","description_kind":"markdown","computed":true}},"nesting_mode":"single"},"description":"Switching details","description_kind":"markdown","computed":true},"traffic":{"nested_type":{"attributes":{"input_quota_size":{"nested_type":{"attributes":{"unit":{"type":"string","description_kind":"plain","computed":true},"value":{"type":"number","description_kind":"plain","computed":true}},"nesting_mode":"single"},"description":"Monthly input traffic quota allowed","description_kind":"markdown","computed":true},"input_quota_used":{"nested_type":{"attributes":{"unit":{"type":"string","description_kind":"plain","computed":true},"value":{"type":"number","description_kind":"plain","computed":true}},"nesting_mode":"single"},"description":"Monthly input traffic consumed this month","description_kind":"markdown","computed":true},"is_throttled":{"type":"bool","description":"Is bandwidth throttleted for being over quota","description_kind":"markdown","computed":true},"output_quota_size":{"nested_type":{"attributes":{"unit":{"type":"string","description_kind":"plain","computed":true},"value":{"type":"number","description_kind":"plain","computed":true}},"nesting_mode":"single"},"description":"Monthly output traffic quota allowed","description_kind":"markdown","computed":true},"output_quota_used":{"nested_type":{"attributes":{"unit":{"type":"string","description_kind":"plain","computed":true},"value":{"type":"number","description_kind":"plain","computed":true}},"nesting_mode":"single"},"description":"Monthly output traffic consumed this month","description_kind":"markdown","computed":true},"reset_quota_date":{"type":"string","description":"Next reset quota date for traffic counter","description_kind":"markdown","computed":true}},"nesting_mode":"single"},"description":"Traffic details","description_kind":"markdown","computed":true},"vmac":{"nested_type":{"attributes":{"supported":{"type":"bool","description":"Server is compatible vmac or not","description_kind":"markdown","computed":true}},"nesting_mode":"single"},"description":"A structure describing VMAC Infos for this dedicated server","description_kind":"markdown","computed":true},"vrack":{"nested_type":{"attributes":{"bandwidth":{"nested_type":{"attributes":{"unit":{"type":"string","description_kind":"plain","computed":true},"value":{"type":"number","description_kind":"plain","computed":true}},"nesting_mode":"single"},"description":"vrack bandwidth limitation","description_kind":"markdown","computed":true},"type":{"type":"string","description":"bandwidth offer type","description_kind":"markdown","computed":true}},"nesting_mode":"single"},"description":"vRack details","description_kind":"markdown","computed":true}},"description_kind":"plain"}},"ovh_dedicated_servers":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"result":{"type":["list","string"],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_domain_zone":{"version":0,"block":{"attributes":{"dnssec_supported":{"type":"bool","description_kind":"plain","computed":true},"has_dns_anycast":{"type":"bool","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"last_update":{"type":"string","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true},"name_servers":{"type":["set","string"],"description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_domain_zone_dnssec":{"version":0,"block":{"attributes":{"status":{"type":"string","description":"DNSSEC Status","description_kind":"markdown","computed":true},"zone_name":{"type":"string","description":"The internal name of your zone","description_kind":"markdown","required":true}},"description_kind":"plain"}},"ovh_hosting_privatedatabase":{"version":0,"block":{"attributes":{"cpu":{"type":"number","description":"Number of CPU on your private database","description_kind":"plain","computed":true},"datacenter":{"type":"string","description":"Datacenter where this private database is located","description_kind":"plain","computed":true},"display_name":{"type":"string","description":"Name displayed in customer panel for your private database","description_kind":"plain","computed":true},"hostname":{"type":"string","description":"Private database hostname","description_kind":"plain","computed":true},"hostname_ftp":{"type":"string","description":"Private database FTP hostname","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"infrastructure":{"type":"string","description":"Infrastructure where service was stored","description_kind":"plain","computed":true},"offer":{"type":"string","description":"Type of the private database offer","description_kind":"plain","computed":true},"port":{"type":"number","description":"Private database service port","description_kind":"plain","computed":true},"port_ftp":{"type":"number","description":"Private database FTP port","description_kind":"plain","computed":true},"quota_size":{"type":"number","description":"Space allowed (in MB) on your private database","description_kind":"plain","computed":true},"quota_used":{"type":"number","description":"Space used (in MB) on your private database","description_kind":"plain","computed":true},"ram":{"type":"number","description":"Amount of ram (in MB) on your private database","description_kind":"plain","computed":true},"server":{"type":"string","description":"Private database server name","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"state":{"type":"string","description":"Private database state","description_kind":"plain","computed":true},"type":{"type":"string","description":"Private database type","description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true},"version":{"type":"string","description":"Private database available versions","description_kind":"plain","computed":true},"version_label":{"type":"string","description":"Private database version label","description_kind":"plain","computed":true},"version_number":{"type":"number","description":"Private database version number","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_hosting_privatedatabase_database":{"version":0,"block":{"attributes":{"backup_time":{"type":"string","description":"Time of the next backup (every day)","description_kind":"plain","computed":true},"creation_date":{"type":"string","description":"Creation date of the database","description_kind":"plain","computed":true},"database_name":{"type":"string","description":"Database name","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"quota_used":{"type":"number","description":"Space used by the database (in MB)","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"The internal name of your private database","description_kind":"plain","required":true},"users":{"type":["set",["object",{"grant_type":"string","user_name":"string"}]],"description":"Users granted to this database","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_hosting_privatedatabase_user":{"version":0,"block":{"attributes":{"creation_date":{"type":"string","description":"Creation date of the user","description_kind":"plain","computed":true},"databases":{"type":["set",["object",{"database_name":"string","grant_type":"string"}]],"description":"Databases granted for this user","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"The internal name of your private database","description_kind":"plain","required":true},"user_name":{"type":"string","description":"User name used to connect to your databases","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_hosting_privatedatabase_user_grant":{"version":0,"block":{"attributes":{"creation_date":{"type":"string","description":"Creation date of the user","description_kind":"plain","computed":true},"database_name":{"type":"string","description":"Database name","description_kind":"plain","required":true},"grant":{"type":"string","description":"Grant name","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"The internal name of your private database","description_kind":"plain","required":true},"user_name":{"type":"string","description":"User name used to connect to your databases","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_hosting_privatedatabase_whitelist":{"version":0,"block":{"attributes":{"creation_date":{"type":"string","description":"Creation date of this whitelist","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip":{"type":"string","description":"The whitelisted IP in your instance","description_kind":"plain","optional":true},"last_update":{"type":"string","description":"The last update date of this whitelist","description_kind":"plain","computed":true},"name":{"type":"string","description":"Custom name for your Whitelisted IP","description_kind":"plain","computed":true},"service":{"type":"bool","description":"Authorize this IP to access service port","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"The internal name of your private database","description_kind":"plain","required":true},"sftp":{"type":"bool","description":"Authorize this IP to access SFTP port","description_kind":"plain","computed":true},"status":{"type":"string","description":"Whitelist status","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_iam_permissions_group":{"version":0,"block":{"attributes":{"allow":{"type":["set","string"],"description_kind":"plain","optional":true},"created_at":{"type":"string","description_kind":"plain","computed":true},"deny":{"type":["set","string"],"description_kind":"plain","optional":true},"description":{"type":"string","description_kind":"plain","optional":true},"except":{"type":["set","string"],"description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","computed":true},"owner":{"type":"string","description_kind":"plain","computed":true},"updated_at":{"type":"string","description_kind":"plain","optional":true,"computed":true},"urn":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_iam_permissions_groups":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"urns":{"type":["set","string"],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_iam_policies":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"policies":{"type":["set","string"],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_iam_policy":{"version":0,"block":{"attributes":{"allow":{"type":["set","string"],"description_kind":"plain","optional":true},"created_at":{"type":"string","description_kind":"plain","computed":true},"deny":{"type":["set","string"],"description_kind":"plain","optional":true},"description":{"type":"string","description_kind":"plain","optional":true},"except":{"type":["set","string"],"description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","required":true},"identities":{"type":["set","string"],"description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","computed":true},"owner":{"type":"string","description_kind":"plain","computed":true},"permissions_groups":{"type":["set","string"],"description_kind":"plain","optional":true},"read_only":{"type":"bool","description_kind":"plain","computed":true},"resources":{"type":["set","string"],"description_kind":"plain","computed":true},"updated_at":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_iam_reference_actions":{"version":0,"block":{"attributes":{"actions":{"type":["set",["object",{"action":"string","categories":["set","string"],"description":"string","resource_type":"string"}]],"description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"type":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_iam_reference_resource_type":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"types":{"type":["set","string"],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_iam_resource_group":{"version":0,"block":{"attributes":{"created_at":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","required":true},"name":{"type":"string","description_kind":"plain","computed":true},"owner":{"type":"string","description_kind":"plain","computed":true},"read_only":{"type":"bool","description_kind":"plain","computed":true},"resources":{"type":["set","string"],"description_kind":"plain","computed":true},"updated_at":{"type":"string","description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_iam_resource_groups":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"resource_groups":{"type":["set","string"],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_ip_firewall":{"version":0,"block":{"attributes":{"enabled":{"type":"bool","description_kind":"plain","computed":true},"ip":{"type":"string","description":"IP (v4 or v6) CIDR notation (e.g., 192.0.2.0/24)","description_kind":"markdown","required":true},"ip_on_firewall":{"type":"string","description":"IPv4 address (e.g., 192.0.2.0)","description_kind":"markdown","required":true},"state":{"type":"string","description":"Current state of your ip on firewall","description_kind":"markdown","computed":true}},"description_kind":"plain"}},"ovh_ip_firewall_rule":{"version":0,"block":{"attributes":{"action":{"type":"string","description":"Possible values for action","description_kind":"markdown","computed":true},"creation_date":{"type":"string","description_kind":"plain","computed":true},"destination":{"type":"string","description":"Destination ip for your rule","description_kind":"markdown","computed":true},"destination_port":{"type":"string","description":"Destination port for your rule. Only with TCP/UDP protocol","description_kind":"markdown","computed":true},"fragments":{"type":"bool","description":"Fragments option","description_kind":"markdown","computed":true},"ip":{"type":"string","description":"IP (v4 or v6) CIDR notation (e.g., 192.0.2.0/24)","description_kind":"markdown","required":true},"ip_on_firewall":{"type":"string","description":"IPv4 address (e.g., 192.0.2.0)","description_kind":"markdown","required":true},"protocol":{"type":"string","description":"Possible values for protocol","description_kind":"markdown","computed":true},"rule":{"type":"string","description_kind":"plain","computed":true},"sequence":{"type":"number","description":"Possible values for action","description_kind":"markdown","required":true},"source":{"type":"string","description":"IPv4 CIDR notation (e.g., 192.0.2.0/24)","description_kind":"markdown","computed":true},"source_port":{"type":"string","description":"Source port for your rule. Only with TCP/UDP protocol","description_kind":"markdown","computed":true},"state":{"type":"string","description":"Current state of your rule","description_kind":"markdown","computed":true},"tcp_option":{"type":"string","description":"TCP option on your rule","description_kind":"markdown","computed":true}},"description_kind":"plain"}},"ovh_ip_mitigation":{"version":0,"block":{"attributes":{"auto":{"type":"bool","description":"Set on true if your ip is on auto-mitigation","description_kind":"markdown","computed":true},"ip":{"type":"string","description":"IP (v4 or v6) CIDR notation (e.g., 192.0.2.0/24)","description_kind":"markdown","required":true},"ip_on_mitigation":{"type":"string","description":"IPv4 address (e.g., 192.0.2.0)","description_kind":"markdown","required":true},"permanent":{"type":"bool","description":"Set on true if your ip is on permanent mitigation","description_kind":"markdown","computed":true},"state":{"type":"string","description":"Current state of your ip on mitigation","description_kind":"markdown","computed":true}},"description_kind":"plain"}},"ovh_ip_service":{"version":0,"block":{"attributes":{"can_be_terminated":{"type":"bool","description_kind":"plain","computed":true},"country":{"type":"string","description_kind":"plain","computed":true},"description":{"type":"string","description":"Custom description on your ip","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip":{"type":"string","description_kind":"plain","computed":true},"organisation_id":{"type":"string","description":"IP block organisation Id","description_kind":"plain","computed":true},"routed_to":{"type":["list",["object",{"service_name":"string"}]],"description":"Routage information","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"The service name","description_kind":"plain","required":true},"type":{"type":"string","description":"Possible values for ip type","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_iploadbalancing":{"version":0,"block":{"attributes":{"display_name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_loadbalancing":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ipv4":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ipv6":{"type":"string","description_kind":"plain","optional":true,"computed":true},"metrics_token":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"offer":{"type":"string","description_kind":"plain","optional":true,"computed":true},"orderable_zone":{"type":["set",["object",{"name":"string","plan_code":"string"}]],"description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ssl_configuration":{"type":"string","description_kind":"plain","optional":true,"computed":true},"state":{"type":"string","description_kind":"plain","optional":true,"computed":true},"urn":{"type":"string","description_kind":"plain","computed":true},"vrack_eligibility":{"type":"bool","description_kind":"plain","optional":true,"computed":true},"vrack_name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"zone":{"type":["set","string"],"description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"ovh_iploadbalancing_vrack_network":{"version":0,"block":{"attributes":{"display_name":{"type":"string","description":"Human readable name for your vrack network","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"nat_ip":{"type":"string","description":"An IP block used as a pool of IPs by this Load Balancer to connect to the servers in this private network. The blck must be in the private network and reserved for the Load Balancer","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"The internal name of your IPloadbalancer","description_kind":"plain","required":true},"subnet":{"type":"string","description":"IP block of the private network in the vRack","description_kind":"plain","computed":true},"vlan":{"type":"number","description":"VLAN of the private network in the vRack. 0 if the private network is not in a VLAN","description_kind":"plain","computed":true},"vrack_network_id":{"type":"number","description":"Internal Load Balancer identifier of the vRack private network","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_iploadbalancing_vrack_networks":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"result":{"type":["list","number"],"description_kind":"plain","computed":true},"service_name":{"type":"string","description":"The internal name of your iploadbalancer.","description_kind":"plain","required":true},"subnet":{"type":"string","description":"Filters on subnet","description_kind":"plain","optional":true},"vlan_id":{"type":"number","description":"Filters on vlan id","description_kind":"plain","optional":true}},"description_kind":"plain"}},"ovh_me":{"version":0,"block":{"attributes":{"address":{"type":"string","description":"Address of nichandle","description_kind":"plain","computed":true},"area":{"type":"string","description":"Area of nichandle","description_kind":"plain","computed":true},"birth_city":{"type":"string","description":"City of birth","description_kind":"plain","computed":true},"birth_day":{"type":"string","description":"Birth date","description_kind":"plain","computed":true},"city":{"type":"string","description":"City of nichandle","description_kind":"plain","computed":true},"company_national_identification_number":{"type":"string","description":"Company National Identification Number","description_kind":"plain","computed":true},"corporation_type":{"type":"string","description":"Corporation type","description_kind":"plain","computed":true},"country":{"type":"string","description":"Customer country","description_kind":"plain","computed":true},"currency":{"type":["list",["object",{"code":"string","symbol":"string"}]],"description":"Customer currency","description_kind":"plain","computed":true},"customer_code":{"type":"string","description":"Your customer code (a numerical value used for identification when contacting support via phone call)","description_kind":"plain","computed":true},"email":{"type":"string","description":"Email address","description_kind":"plain","computed":true},"fax":{"type":"string","description":"Fax number","description_kind":"plain","computed":true},"firstname":{"type":"string","description":"First name","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"italian_sdi":{"type":"string","description":"Italian SDI","description_kind":"plain","computed":true},"language":{"type":"string","description":"Language","description_kind":"plain","computed":true},"legalform":{"type":"string","description":"Customer legal form","description_kind":"plain","computed":true},"name":{"type":"string","description":"Customer name","description_kind":"plain","computed":true},"national_identification_number":{"type":"string","description":"National Identification Number","description_kind":"plain","computed":true},"nichandle":{"type":"string","description":"Customer identifier","description_kind":"plain","computed":true},"organisation":{"type":"string","description":"Name of organisation","description_kind":"plain","computed":true},"ovh_company":{"type":"string","description":"OVH subsidiary","description_kind":"plain","computed":true},"ovh_subsidiary":{"type":"string","description":"OVH subsidiary","description_kind":"plain","computed":true},"phone":{"type":"string","description":"Phone number","description_kind":"plain","computed":true},"phone_country":{"type":"string","description":"Phone number's country code","description_kind":"plain","computed":true},"sex":{"type":"string","description":"Gender","description_kind":"plain","computed":true},"spare_email":{"type":"string","description":"Spare email","description_kind":"plain","computed":true},"state":{"type":"string","description":"Nichandle state","description_kind":"plain","computed":true},"urn":{"type":"string","description":"Identity URN of the account","description_kind":"plain","computed":true},"vat":{"type":"string","description":"VAT number","description_kind":"plain","computed":true},"zip":{"type":"string","description":"Zipcode","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_me_api_oauth2_client":{"version":0,"block":{"attributes":{"callback_urls":{"type":["list","string"],"description":"Callback URLs of the applications using this oauth2 client. Required if using the AUTHORIZATION_CODE flow.","description_kind":"plain","computed":true},"client_id":{"type":"string","description":"Client ID for the oauth2 client, generated during the resource creation.","description_kind":"plain","required":true},"description":{"type":"string","description":"A description of your oauth2 client.","description_kind":"plain","computed":true},"flow":{"type":"string","description":"OAuth2 flow type implemented for this oauth2 client. Can be either AUTHORIZATION_CODE or CLIENT_CREDENTIALS","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"identity":{"type":"string","description":"URN that will allow you to associate this oauth2 client with an access policy.","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_me_api_oauth2_clients":{"version":0,"block":{"attributes":{"client_ids":{"type":["set","string"],"description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"ovh_me_identity_group":{"version":0,"block":{"attributes":{"creation":{"type":"string","description_kind":"plain","computed":true},"default_group":{"type":"bool","description_kind":"plain","computed":true},"description":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"last_update":{"type":"string","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true},"role":{"type":"string","description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_me_identity_groups":{"version":0,"block":{"attributes":{"groups":{"type":["set","string"],"description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"ovh_me_identity_user":{"version":0,"block":{"attributes":{"creation":{"type":"string","description":"Creation date of this user","description_kind":"plain","computed":true},"description":{"type":"string","description":"User description","description_kind":"plain","computed":true},"email":{"type":"string","description":"User's email","description_kind":"plain","computed":true},"group":{"type":"string","description":"User's group","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"last_update":{"type":"string","description":"Last update of this user","description_kind":"plain","computed":true},"login":{"type":"string","description":"User's login suffix","description_kind":"plain","computed":true},"password_last_update":{"type":"string","description":"When the user changed his password for the last time","description_kind":"plain","computed":true},"status":{"type":"string","description":"Current user's status","description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true},"user":{"type":"string","description":"User's login","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_me_identity_users":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"users":{"type":["set","string"],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_me_installation_template":{"version":0,"block":{"attributes":{"bit_format":{"type":"number","description":"Template bit format (32 or 64)","description_kind":"plain","computed":true},"category":{"type":"string","description":"Category of this template (informative only)","description_kind":"plain","computed":true},"customization":{"type":["list",["object",{"custom_hostname":"string","post_installation_script_link":"string","post_installation_script_return":"string"}]],"description_kind":"plain","computed":true},"description":{"type":"string","description":"Description of the template","description_kind":"plain","computed":true},"distribution":{"type":"string","description":"Distribution this template is based on","description_kind":"plain","computed":true},"end_of_install":{"type":"string","description":"After this date, install of this template will not be possible at OVH","description_kind":"plain","computed":true},"family":{"type":"string","description":"Template family type (bsd,linux,solaris,windows)","description_kind":"plain","computed":true},"filesystems":{"type":["list","string"],"description":"Filesystems available","description_kind":"plain","computed":true},"hard_raid_configuration":{"type":"bool","description":"Distribution supports hardware raid configuration through the OVH API","description_kind":"plain","deprecated":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"inputs":{"type":["list",["object",{"default":"string","description":"string","enum":["list","string"],"mandatory":"bool","name":"string","type":"string"}]],"description_kind":"plain","computed":true},"lvm_ready":{"type":"bool","description":"Whether this Distribution supports Logical Volumes (Linux LVM)","description_kind":"plain","computed":true},"no_partitioning":{"type":"bool","description":"Template supports RAID0 and RAID1 on 2 disks","description_kind":"plain","computed":true},"partition_scheme":{"type":["list",["object",{"hardware_raid":["list",["object",{"disks":["list","string"],"mode":"string","name":"string","step":"number"}]],"name":"string","partition":["list",["object",{"filesystem":"string","mountpoint":"string","order":"number","raid":"string","size":"number","type":"string","volume_name":"string"}]],"priority":"number"}]],"description_kind":"plain","computed":true},"soft_raid_only_mirroring":{"type":"bool","description":"Partitioning customization is available but limited to mirroring for this OS template","description_kind":"plain","computed":true},"subfamily":{"type":"string","description":"Template subfamily type","description_kind":"plain","computed":true},"template_name":{"type":"string","description":"Template name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_me_installation_templates":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"result":{"type":["list","string"],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_me_paymentmean_bankaccount":{"version":0,"block":{"attributes":{"default":{"type":"bool","description_kind":"plain","computed":true},"description":{"type":"string","description_kind":"plain","computed":true},"description_regexp":{"type":"string","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"state":{"type":"string","description_kind":"plain","optional":true,"computed":true},"use_default":{"type":"bool","description_kind":"plain","optional":true},"use_oldest":{"type":"bool","description_kind":"plain","optional":true}},"description_kind":"plain","deprecated":true}},"ovh_me_paymentmean_creditcard":{"version":0,"block":{"attributes":{"default":{"type":"bool","description_kind":"plain","computed":true},"description":{"type":"string","description_kind":"plain","computed":true},"description_regexp":{"type":"string","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"state":{"type":"string","description_kind":"plain","computed":true},"states":{"type":["set","string"],"description_kind":"plain","optional":true},"use_default":{"type":"bool","description_kind":"plain","optional":true},"use_last_to_expire":{"type":"bool","description_kind":"plain","optional":true}},"description_kind":"plain","deprecated":true}},"ovh_order_cart":{"version":0,"block":{"attributes":{"assign":{"type":"bool","description":"Assign a shopping cart to a logged in client","description_kind":"plain","optional":true},"cart_id":{"type":"string","description":"Cart identifier","description_kind":"plain","computed":true},"description":{"type":"string","description":"Description of your cart","description_kind":"plain","optional":true},"expire":{"type":"string","description":"Expiration time (format: 2006-01-02T15:04:05Z07:00)","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"items":{"type":["list","number"],"description":"Items of your cart","description_kind":"plain","computed":true},"ovh_subsidiary":{"type":"string","description":"Ovh Subsidiary","description_kind":"plain","required":true},"read_only":{"type":"bool","description":"Indicates if the cart has already been validated","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_order_cart_product":{"version":0,"block":{"attributes":{"cart_id":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"product":{"type":"string","description":"Product","description_kind":"plain","required":true},"result":{"type":["list",["object",{"plan_code":"string","prices":["list",["object",{"capacities":["list","string"],"description":"string","duration":"string","interval":"number","maximum_quantity":"number","maximum_repeat":"number","minimum_quantity":"number","minimum_repeat":"number","price":["list",["object",{"currency_code":"string","text":"string","value":"number"}]],"price_in_ucents":"number","pricing_mode":"string","pricing_type":"string"}]],"product_name":"string","product_type":"string"}]],"description":"List of representations of a generic product","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_order_cart_product_options":{"version":0,"block":{"attributes":{"cart_id":{"type":"string","description_kind":"plain","required":true},"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"plan_code":{"type":"string","description":"Product offer identifier","description_kind":"plain","required":true},"product":{"type":"string","description":"Product","description_kind":"plain","required":true},"result":{"type":["list",["object",{"exclusive":"bool","family":"string","mandatory":"bool","plan_code":"string","prices":["list",["object",{"capacities":["list","string"],"description":"string","duration":"string","interval":"number","maximum_quantity":"number","maximum_repeat":"number","minimum_quantity":"number","minimum_repeat":"number","price":["list",["object",{"currency_code":"string","text":"string","value":"number"}]],"price_in_ucents":"number","pricing_mode":"string","pricing_type":"string"}]],"product_name":"string","product_type":"string"}]],"description":"List of representations of a generic product","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_order_cart_product_options_plan":{"version":0,"block":{"attributes":{"cart_id":{"type":"string","description_kind":"plain","required":true},"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"exclusive":{"type":"bool","description":"Define if options of this family are exclusive with each other","description_kind":"plain","computed":true},"family":{"type":"string","description":"Option family","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"mandatory":{"type":"bool","description":"Define if an option of this family is mandatory","description_kind":"plain","computed":true},"options_plan_code":{"type":"string","description_kind":"plain","required":true},"plan_code":{"type":"string","description_kind":"plain","required":true},"price_capacity":{"type":"string","description":"Capacity of the pricing (type of pricing)","description_kind":"plain","required":true},"prices":{"type":["list",["object",{"capacities":["list","string"],"description":"string","duration":"string","interval":"number","maximum_quantity":"number","maximum_repeat":"number","minimum_quantity":"number","minimum_repeat":"number","price":["list",["object",{"currency_code":"string","text":"string","value":"number"}]],"price_in_ucents":"number","pricing_mode":"string","pricing_type":"string"}]],"description":"Prices of the product offer","description_kind":"plain","computed":true},"product":{"type":"string","description":"Product","description_kind":"plain","required":true},"product_name":{"type":"string","description":"Name of the product","description_kind":"plain","computed":true},"product_type":{"type":"string","description":"Product type","description_kind":"plain","computed":true},"selected_price":{"type":["list",["object",{"capacities":["list","string"],"description":"string","duration":"string","interval":"number","maximum_quantity":"number","maximum_repeat":"number","minimum_quantity":"number","minimum_repeat":"number","price":["list",["object",{"currency_code":"string","text":"string","value":"number"}]],"price_in_ucents":"number","pricing_mode":"string","pricing_type":"string"}]],"description":"Selected Price according to capacity","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_order_cart_product_plan":{"version":0,"block":{"attributes":{"cart_id":{"type":"string","description_kind":"plain","required":true},"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"plan_code":{"type":"string","description_kind":"plain","required":true},"price_capacity":{"type":"string","description":"Capacity of the pricing (type of pricing)","description_kind":"plain","required":true},"prices":{"type":["list",["object",{"capacities":["list","string"],"description":"string","duration":"string","interval":"number","maximum_quantity":"number","maximum_repeat":"number","minimum_quantity":"number","minimum_repeat":"number","price":["list",["object",{"currency_code":"string","text":"string","value":"number"}]],"price_in_ucents":"number","pricing_mode":"string","pricing_type":"string"}]],"description":"Prices of the product offer","description_kind":"plain","computed":true},"product":{"type":"string","description":"Product","description_kind":"plain","required":true},"product_name":{"type":"string","description":"Name of the product","description_kind":"plain","computed":true},"product_type":{"type":"string","description":"Product type","description_kind":"plain","computed":true},"selected_price":{"type":["list",["object",{"capacities":["list","string"],"description":"string","duration":"string","interval":"number","maximum_quantity":"number","maximum_repeat":"number","minimum_quantity":"number","minimum_repeat":"number","price":["list",["object",{"currency_code":"string","text":"string","value":"number"}]],"price_in_ucents":"number","pricing_mode":"string","pricing_type":"string"}]],"description":"Selected Price according to capacity","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_vps":{"version":0,"block":{"attributes":{"cluster":{"type":"string","description_kind":"plain","computed":true},"datacenter":{"type":["map","string"],"description_kind":"plain","computed":true},"displayname":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ips":{"type":["set","string"],"description_kind":"plain","computed":true},"keymap":{"type":"string","description_kind":"plain","computed":true},"memory":{"type":"number","description_kind":"plain","computed":true},"model":{"type":["map","string"],"description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","computed":true},"netbootmode":{"type":"string","description_kind":"plain","computed":true},"offertype":{"type":"string","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"slamonitoring":{"type":"bool","description_kind":"plain","computed":true},"state":{"type":"string","description_kind":"plain","computed":true},"type":{"type":"string","description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true},"vcore":{"type":"number","description_kind":"plain","computed":true},"zone":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_vpss":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"result":{"type":["list","string"],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_vracks":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"result":{"type":["list","string"],"description_kind":"plain","computed":true}},"description_kind":"plain"}}}}}} diff --git a/examples-generated/dns/v1alpha1/zone.yaml b/examples-generated/dns/v1alpha1/zone.yaml deleted file mode 100644 index 3c44e17..0000000 --- a/examples-generated/dns/v1alpha1/zone.yaml +++ /dev/null @@ -1,20 +0,0 @@ -apiVersion: dns.ovh.edixos.io/v1alpha1 -kind: Zone -metadata: - annotations: - meta.upbound.io/example-id: dns/v1alpha1/zone - labels: - testing.upbound.io/example-name: zone - name: zone -spec: - forProvider: - ovhSubsidiary: ${data.ovh_order_cart.mycart.ovh_subsidiary} - plan: - - configuration: - - label: zone - value: myzone.mydomain.com - - label: template - value: minimized - duration: ${data.ovh_order_cart_product_plan.zone.selected_price.0.duration} - planCode: ${data.ovh_order_cart_product_plan.zone.plan_code} - pricingMode: ${data.ovh_order_cart_product_plan.zone.selected_price.0.pricing_mode} diff --git a/examples-generated/dns/v1alpha1/zonerecord.yaml b/examples-generated/dns/v1alpha1/zonerecord.yaml deleted file mode 100644 index e71c474..0000000 --- a/examples-generated/dns/v1alpha1/zonerecord.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: dns.ovh.edixos.io/v1alpha1 -kind: ZoneRecord -metadata: - annotations: - meta.upbound.io/example-id: dns/v1alpha1/zonerecord - labels: - testing.upbound.io/example-name: test - name: test -spec: - forProvider: - fieldtype: A - subdomain: test - target: 0.0.0.0 - ttl: 3600 - zone: testdemo.ovh diff --git a/examples-generated/dns/v1alpha1/zoneredirection.yaml b/examples-generated/dns/v1alpha1/zoneredirection.yaml deleted file mode 100644 index 463ec9e..0000000 --- a/examples-generated/dns/v1alpha1/zoneredirection.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: dns.ovh.edixos.io/v1alpha1 -kind: ZoneRedirection -metadata: - annotations: - meta.upbound.io/example-id: dns/v1alpha1/zoneredirection - labels: - testing.upbound.io/example-name: test - name: test -spec: - forProvider: - subdomain: test - target: http://www.ovh - type: visiblePermanent - zone: testdemo.ovh diff --git a/go.mod b/go.mod index 0054bc6..73eee53 100644 --- a/go.mod +++ b/go.mod @@ -6,9 +6,9 @@ toolchain go1.22.1 require ( dario.cat/mergo v1.0.0 - github.com/crossplane/crossplane-runtime v1.15.1 - github.com/crossplane/crossplane-tools v0.0.0-20230925130601-628280f8bf79 - github.com/crossplane/upjet v1.2.4 + github.com/crossplane/crossplane-runtime v1.16.0 + github.com/crossplane/crossplane-tools v0.0.0-20240516011917-bfb5045f0903 + github.com/crossplane/upjet v1.4.0 github.com/pkg/errors v0.9.1 gopkg.in/alecthomas/kingpin.v2 v2.2.6 k8s.io/apimachinery v0.30.0-beta.0 @@ -19,14 +19,16 @@ require ( require ( github.com/agext/levenshtein v1.2.3 // indirect + github.com/alecthomas/kingpin/v2 v2.4.0 // indirect github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 // indirect github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 // indirect github.com/antchfx/htmlquery v1.2.4 // indirect github.com/antchfx/xpath v1.2.0 // indirect github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect github.com/beorn7/perks v1.0.1 // indirect + github.com/blang/semver/v4 v4.0.0 // indirect github.com/cespare/xxhash/v2 v2.2.0 // indirect - github.com/dave/jennifer v1.4.1 // indirect + github.com/dave/jennifer v1.7.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/emicklei/go-restful/v3 v3.11.0 // indirect github.com/evanphx/json-patch v5.6.0+incompatible // indirect @@ -94,6 +96,7 @@ require ( github.com/vmihailenco/msgpack v4.0.4+incompatible // indirect github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect + github.com/xhit/go-str2duration/v2 v2.1.0 // indirect github.com/yuin/goldmark v1.4.13 // indirect github.com/zclconf/go-cty v1.14.1 // indirect github.com/zclconf/go-cty-yaml v1.0.3 // indirect @@ -101,10 +104,10 @@ require ( go.uber.org/zap v1.26.0 // indirect golang.org/x/exp v0.0.0-20240112132812-db7319d0e0e3 // indirect golang.org/x/mod v0.15.0 // indirect - golang.org/x/net v0.21.0 // indirect + golang.org/x/net v0.23.0 // indirect golang.org/x/oauth2 v0.15.0 // indirect - golang.org/x/sys v0.17.0 // indirect - golang.org/x/term v0.17.0 // indirect + golang.org/x/sys v0.18.0 // indirect + golang.org/x/term v0.18.0 // indirect golang.org/x/text v0.14.0 // indirect golang.org/x/time v0.5.0 // indirect golang.org/x/tools v0.18.0 // indirect diff --git a/go.sum b/go.sum index ae1bc31..8cfb8c7 100644 --- a/go.sum +++ b/go.sum @@ -3,6 +3,8 @@ dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= github.com/agext/levenshtein v1.2.1/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= github.com/agext/levenshtein v1.2.3 h1:YB2fHEn0UJagG8T1rrWknE3ZQzWM06O8AMAatNn7lmo= github.com/agext/levenshtein v1.2.3/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= +github.com/alecthomas/kingpin/v2 v2.4.0 h1:f48lwail6p8zpO1bC4TxtqACaGqHYA22qkHjHpqDjYY= +github.com/alecthomas/kingpin/v2 v2.4.0/go.mod h1:0gyi0zQnjuFk8xrkNKamJoyUo382HRL7ATRpFZCw6tE= github.com/alecthomas/kong v0.2.16/go.mod h1:kQOmtJgV+Lb4aj+I2LEn40cbtawdWJ9Y8QLq+lElKxE= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 h1:JYp7IbQjafoB+tBA3gMyHYHrpOtNuDiK/uB5uXxq5wM= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= @@ -20,20 +22,22 @@ github.com/apparentlymart/go-textseg/v15 v15.0.0 h1:uYvfpb3DyLSCGWnctWKGj857c6ew github.com/apparentlymart/go-textseg/v15 v15.0.0/go.mod h1:K8XmNZdhEBkdlyDdvbmmsvpAG721bKi0joRfFdHIWJ4= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM= +github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ= github.com/bufbuild/protocompile v0.6.0 h1:Uu7WiSQ6Yj9DbkdnOe7U4mNKp58y9WDMKDn28/ZlunY= github.com/bufbuild/protocompile v0.6.0/go.mod h1:YNP35qEYoYGme7QMtz5SBCoN4kL4g12jTtjuzRNdjpE= github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/crossplane/crossplane-runtime v1.15.1 h1:g1h75tNYOQT152IUNxs8ZgSsRFQKrZN9z69KefMujXs= -github.com/crossplane/crossplane-runtime v1.15.1/go.mod h1:kRcJjJQmBFrR2n/KhwL8wYS7xNfq3D8eK4JliEScOHI= -github.com/crossplane/crossplane-tools v0.0.0-20230925130601-628280f8bf79 h1:HigXs5tEQxWz0fcj8hzbU2UAZgEM7wPe0XRFOsrtF8Y= -github.com/crossplane/crossplane-tools v0.0.0-20230925130601-628280f8bf79/go.mod h1:+e4OaFlOcmr0JvINHl/yvEYBrZawzTgj6pQumOH1SS0= -github.com/crossplane/upjet v1.2.4 h1:JRhj4SaKSxXyM6pOYbBKLc0y7wC2D0/WwcqJdNpfhLw= -github.com/crossplane/upjet v1.2.4/go.mod h1:0bHLtnejZ9bDeyXuBb9MSOQLvKo3+aoTeUBO8N0dGSA= -github.com/dave/jennifer v1.4.1 h1:XyqG6cn5RQsTj3qlWQTKlRGAyrTcsk1kUmWdZBzRjDw= -github.com/dave/jennifer v1.4.1/go.mod h1:7jEdnm+qBcxl8PC0zyp7vxcpSRnzXSt9r39tpTVGlwA= +github.com/crossplane/crossplane-runtime v1.16.0 h1:lz+l0wEB3qowdTmN7t0PZkfuNSvfOoEhQrEYFbYqMow= +github.com/crossplane/crossplane-runtime v1.16.0/go.mod h1:Pz2tdGVMF6KDGzHZOkvKro0nKc8EzK0sb/nSA7pH4Dc= +github.com/crossplane/crossplane-tools v0.0.0-20240516011917-bfb5045f0903 h1:bL8QbWkmzkdK7swURaaKEFiYS8+ib4fYU74eyRpCrYg= +github.com/crossplane/crossplane-tools v0.0.0-20240516011917-bfb5045f0903/go.mod h1:cN0Y7PFGQMM8mcagXVCbeQoKtipmFWQTPZYyziCPBUI= +github.com/crossplane/upjet v1.4.0 h1:twKCU8omU7VAA7E5fpbQkqDHjVnoTb8EXqmB805Q37o= +github.com/crossplane/upjet v1.4.0/go.mod h1:3pDVtCgyBc5f2Zx4K5HEPxxhjndmOc5CHCJNpIivK/g= +github.com/dave/jennifer v1.7.0 h1:uRbSBH9UTS64yXbh4FrMHfgfY762RD+C7bUPKODpSJE= +github.com/dave/jennifer v1.7.0/go.mod h1:nXbxhEmQfOZhWml3D1cDK5M1FLnMSozpbFN/m3RmGZc= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -247,6 +251,8 @@ github.com/vmihailenco/msgpack/v5 v5.3.5/go.mod h1:7xyJ9e+0+9SaZT0Wt1RGleJXzli6Q github.com/vmihailenco/tagparser v0.1.1/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI= github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g= github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds= +github.com/xhit/go-str2duration/v2 v2.1.0 h1:lxklc02Drh6ynqX+DdPyp5pCKLUQpRT8bp8Ydu2Bstc= +github.com/xhit/go-str2duration/v2 v2.1.0/go.mod h1:ohY8p+0f07DiV6Em5LKB0s2YpLtXVyJfNt1+BlmyAsU= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= @@ -290,8 +296,8 @@ golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwY golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4= -golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= +golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= +golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= golang.org/x/oauth2 v0.15.0 h1:s8pnnxNVzjWyrvYdFUQq5llS1PX2zhPXmccZv99h7uQ= golang.org/x/oauth2 v0.15.0/go.mod h1:q48ptWNTY5XWf+JNten23lcvHpLJ0ZSxF5ttTHKVCAM= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -321,12 +327,12 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y= -golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= +golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.17.0 h1:mkTF7LCd6WGJNL3K1Ad7kwxNfYAW6a8a8QqtMblp/4U= -golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= +golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8= +golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= diff --git a/internal/controller/additionalip/move/zz_controller.go b/internal/controller/additionalip/move/zz_controller.go index ff3227c..ef11ecd 100755 --- a/internal/controller/additionalip/move/zz_controller.go +++ b/internal/controller/additionalip/move/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.Move // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.MoveList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.MoveList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.Move_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/additionalip/projectfailoveripattach/zz_controller.go b/internal/controller/additionalip/projectfailoveripattach/zz_controller.go index a88dca9..663d998 100755 --- a/internal/controller/additionalip/projectfailoveripattach/zz_controller.go +++ b/internal/controller/additionalip/projectfailoveripattach/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.ProjectFailoverIPAttach // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.ProjectFailoverIPAttachList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.ProjectFailoverIPAttachList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.ProjectFailoverIPAttach_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/additionalip/reverse/zz_controller.go b/internal/controller/additionalip/reverse/zz_controller.go index 02dbacc..fbc244d 100755 --- a/internal/controller/additionalip/reverse/zz_controller.go +++ b/internal/controller/additionalip/reverse/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.Reverse // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.ReverseList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.ReverseList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.Reverse_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/additionalip/service/zz_controller.go b/internal/controller/additionalip/service/zz_controller.go index ab99941..ac66628 100755 --- a/internal/controller/additionalip/service/zz_controller.go +++ b/internal/controller/additionalip/service/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.Service // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.ServiceList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.ServiceList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.Service_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/cloud/project/zz_controller.go b/internal/controller/cloud/project/zz_controller.go index c95a064..65b025c 100755 --- a/internal/controller/cloud/project/zz_controller.go +++ b/internal/controller/cloud/project/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.Project // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.ProjectList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.ProjectList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.Project_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/cloud/s3credentials/zz_controller.go b/internal/controller/cloud/s3credentials/zz_controller.go index f0d4790..acdebbf 100755 --- a/internal/controller/cloud/s3credentials/zz_controller.go +++ b/internal/controller/cloud/s3credentials/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.S3Credentials // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.S3CredentialsList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.S3CredentialsList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.S3Credentials_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/cloud/s3policy/zz_controller.go b/internal/controller/cloud/s3policy/zz_controller.go index ff0b613..229de79 100755 --- a/internal/controller/cloud/s3policy/zz_controller.go +++ b/internal/controller/cloud/s3policy/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.S3Policy // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.S3PolicyList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.S3PolicyList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.S3Policy_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/cloud/user/zz_controller.go b/internal/controller/cloud/user/zz_controller.go index 697b8c9..d824163 100755 --- a/internal/controller/cloud/user/zz_controller.go +++ b/internal/controller/cloud/user/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.User // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.UserList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.UserList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.User_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/clouddiskarray/cephacl/zz_controller.go b/internal/controller/clouddiskarray/cephacl/zz_controller.go index e26d7a8..718684e 100755 --- a/internal/controller/clouddiskarray/cephacl/zz_controller.go +++ b/internal/controller/clouddiskarray/cephacl/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.CephACL // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.CephACLList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.CephACLList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.CephACL_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/databases/projectdatabase/zz_controller.go b/internal/controller/databases/projectdatabase/zz_controller.go index f9dc82f..d6d20e4 100755 --- a/internal/controller/databases/projectdatabase/zz_controller.go +++ b/internal/controller/databases/projectdatabase/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.ProjectDatabase // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.ProjectDatabaseList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.ProjectDatabaseList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.ProjectDatabase_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/databases/projectdatabasedatabase/zz_controller.go b/internal/controller/databases/projectdatabasedatabase/zz_controller.go index eba7fe1..a00fb4a 100755 --- a/internal/controller/databases/projectdatabasedatabase/zz_controller.go +++ b/internal/controller/databases/projectdatabasedatabase/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.ProjectDatabaseDatabase // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.ProjectDatabaseDatabaseList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.ProjectDatabaseDatabaseList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.ProjectDatabaseDatabase_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/databases/projectdatabaseintegration/zz_controller.go b/internal/controller/databases/projectdatabaseintegration/zz_controller.go index a636525..3c642f8 100755 --- a/internal/controller/databases/projectdatabaseintegration/zz_controller.go +++ b/internal/controller/databases/projectdatabaseintegration/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.ProjectDatabaseIntegration // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.ProjectDatabaseIntegrationList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.ProjectDatabaseIntegrationList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.ProjectDatabaseIntegration_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/databases/projectdatabaseiprestriction/zz_controller.go b/internal/controller/databases/projectdatabaseiprestriction/zz_controller.go index cd33c6b..27c8b08 100755 --- a/internal/controller/databases/projectdatabaseiprestriction/zz_controller.go +++ b/internal/controller/databases/projectdatabaseiprestriction/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.ProjectDatabaseIPRestriction // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.ProjectDatabaseIPRestrictionList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.ProjectDatabaseIPRestrictionList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.ProjectDatabaseIPRestriction_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/databases/projectdatabasekafkaacl/zz_controller.go b/internal/controller/databases/projectdatabasekafkaacl/zz_controller.go index fcbb377..6afd8ca 100755 --- a/internal/controller/databases/projectdatabasekafkaacl/zz_controller.go +++ b/internal/controller/databases/projectdatabasekafkaacl/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.ProjectDatabaseKafkaACL // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.ProjectDatabaseKafkaACLList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.ProjectDatabaseKafkaACLList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.ProjectDatabaseKafkaACL_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/databases/projectdatabasekafkaschemaregistryacl/zz_controller.go b/internal/controller/databases/projectdatabasekafkaschemaregistryacl/zz_controller.go index f6f940a..0243781 100755 --- a/internal/controller/databases/projectdatabasekafkaschemaregistryacl/zz_controller.go +++ b/internal/controller/databases/projectdatabasekafkaschemaregistryacl/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.ProjectDatabaseKafkaSchemaregistryacl // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.ProjectDatabaseKafkaSchemaregistryaclList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.ProjectDatabaseKafkaSchemaregistryaclList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.ProjectDatabaseKafkaSchemaregistryacl_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/databases/projectdatabasekafkatopic/zz_controller.go b/internal/controller/databases/projectdatabasekafkatopic/zz_controller.go index 16cc3a0..9498423 100755 --- a/internal/controller/databases/projectdatabasekafkatopic/zz_controller.go +++ b/internal/controller/databases/projectdatabasekafkatopic/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.ProjectDatabaseKafkaTopic // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.ProjectDatabaseKafkaTopicList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.ProjectDatabaseKafkaTopicList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.ProjectDatabaseKafkaTopic_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/databases/projectdatabasem3dbnamespace/zz_controller.go b/internal/controller/databases/projectdatabasem3dbnamespace/zz_controller.go index ca700be..b7c13f4 100755 --- a/internal/controller/databases/projectdatabasem3dbnamespace/zz_controller.go +++ b/internal/controller/databases/projectdatabasem3dbnamespace/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.ProjectDatabaseM3DbNamespace // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.ProjectDatabaseM3DbNamespaceList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.ProjectDatabaseM3DbNamespaceList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.ProjectDatabaseM3DbNamespace_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/databases/projectdatabasem3dbuser/zz_controller.go b/internal/controller/databases/projectdatabasem3dbuser/zz_controller.go index 0d3b960..bbb474e 100755 --- a/internal/controller/databases/projectdatabasem3dbuser/zz_controller.go +++ b/internal/controller/databases/projectdatabasem3dbuser/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.ProjectDatabaseM3DbUser // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.ProjectDatabaseM3DbUserList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.ProjectDatabaseM3DbUserList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.ProjectDatabaseM3DbUser_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/databases/projectdatabasemongodbuser/zz_controller.go b/internal/controller/databases/projectdatabasemongodbuser/zz_controller.go index be4d191..435e5b0 100755 --- a/internal/controller/databases/projectdatabasemongodbuser/zz_controller.go +++ b/internal/controller/databases/projectdatabasemongodbuser/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.ProjectDatabaseMongodbUser // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.ProjectDatabaseMongodbUserList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.ProjectDatabaseMongodbUserList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.ProjectDatabaseMongodbUser_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/databases/projectdatabaseopensearchpattern/zz_controller.go b/internal/controller/databases/projectdatabaseopensearchpattern/zz_controller.go index cb4f731..adb65b8 100755 --- a/internal/controller/databases/projectdatabaseopensearchpattern/zz_controller.go +++ b/internal/controller/databases/projectdatabaseopensearchpattern/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.ProjectDatabaseOpensearchPattern // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.ProjectDatabaseOpensearchPatternList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.ProjectDatabaseOpensearchPatternList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.ProjectDatabaseOpensearchPattern_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/databases/projectdatabaseopensearchuser/zz_controller.go b/internal/controller/databases/projectdatabaseopensearchuser/zz_controller.go index 1e97ce8..2d3a9eb 100755 --- a/internal/controller/databases/projectdatabaseopensearchuser/zz_controller.go +++ b/internal/controller/databases/projectdatabaseopensearchuser/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.ProjectDatabaseOpensearchUser // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.ProjectDatabaseOpensearchUserList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.ProjectDatabaseOpensearchUserList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.ProjectDatabaseOpensearchUser_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/databases/projectdatabasepostgresqlconnectionpool/zz_controller.go b/internal/controller/databases/projectdatabasepostgresqlconnectionpool/zz_controller.go index 59341d6..6015fad 100755 --- a/internal/controller/databases/projectdatabasepostgresqlconnectionpool/zz_controller.go +++ b/internal/controller/databases/projectdatabasepostgresqlconnectionpool/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.ProjectDatabasePostgresqlConnectionPool // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.ProjectDatabasePostgresqlConnectionPoolList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.ProjectDatabasePostgresqlConnectionPoolList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.ProjectDatabasePostgresqlConnectionPool_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/databases/projectdatabasepostgresqluser/zz_controller.go b/internal/controller/databases/projectdatabasepostgresqluser/zz_controller.go index 7af359e..557fab8 100755 --- a/internal/controller/databases/projectdatabasepostgresqluser/zz_controller.go +++ b/internal/controller/databases/projectdatabasepostgresqluser/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.ProjectDatabasePostgresqlUser // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.ProjectDatabasePostgresqlUserList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.ProjectDatabasePostgresqlUserList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.ProjectDatabasePostgresqlUser_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/databases/projectdatabaseredisuser/zz_controller.go b/internal/controller/databases/projectdatabaseredisuser/zz_controller.go index 451639c..f5cc178 100755 --- a/internal/controller/databases/projectdatabaseredisuser/zz_controller.go +++ b/internal/controller/databases/projectdatabaseredisuser/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.ProjectDatabaseRedisUser // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.ProjectDatabaseRedisUserList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.ProjectDatabaseRedisUserList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.ProjectDatabaseRedisUser_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/databases/projectdatabaseuser/zz_controller.go b/internal/controller/databases/projectdatabaseuser/zz_controller.go index 3b8c510..5bb3891 100755 --- a/internal/controller/databases/projectdatabaseuser/zz_controller.go +++ b/internal/controller/databases/projectdatabaseuser/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.ProjectDatabaseUser // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.ProjectDatabaseUserList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.ProjectDatabaseUserList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.ProjectDatabaseUser_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/dedicatedserver/installationtemplate/zz_controller.go b/internal/controller/dedicatedserver/installationtemplate/zz_controller.go index bc882ca..0da23dc 100755 --- a/internal/controller/dedicatedserver/installationtemplate/zz_controller.go +++ b/internal/controller/dedicatedserver/installationtemplate/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.InstallationTemplate // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.InstallationTemplateList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.InstallationTemplateList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.InstallationTemplate_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/dedicatedserver/installationtemplatepartitionscheme/zz_controller.go b/internal/controller/dedicatedserver/installationtemplatepartitionscheme/zz_controller.go index 12d3971..b37f219 100755 --- a/internal/controller/dedicatedserver/installationtemplatepartitionscheme/zz_controller.go +++ b/internal/controller/dedicatedserver/installationtemplatepartitionscheme/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.InstallationTemplatePartitionScheme // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.InstallationTemplatePartitionSchemeList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.InstallationTemplatePartitionSchemeList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.InstallationTemplatePartitionScheme_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/dedicatedserver/installationtemplatepartitionschemehardwareraid/zz_controller.go b/internal/controller/dedicatedserver/installationtemplatepartitionschemehardwareraid/zz_controller.go index 04cc0be..c0bb9ea 100755 --- a/internal/controller/dedicatedserver/installationtemplatepartitionschemehardwareraid/zz_controller.go +++ b/internal/controller/dedicatedserver/installationtemplatepartitionschemehardwareraid/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.InstallationTemplatePartitionSchemeHardwareRaid // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.InstallationTemplatePartitionSchemeHardwareRaidList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.InstallationTemplatePartitionSchemeHardwareRaidList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.InstallationTemplatePartitionSchemeHardwareRaid_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/dedicatedserver/installationtemplatepartitionschemepartition/zz_controller.go b/internal/controller/dedicatedserver/installationtemplatepartitionschemepartition/zz_controller.go index d053fa7..358faa0 100755 --- a/internal/controller/dedicatedserver/installationtemplatepartitionschemepartition/zz_controller.go +++ b/internal/controller/dedicatedserver/installationtemplatepartitionschemepartition/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.InstallationTemplatePartitionSchemePartition // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.InstallationTemplatePartitionSchemePartitionList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.InstallationTemplatePartitionSchemePartitionList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.InstallationTemplatePartitionSchemePartition_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/dedicatedserver/serverinstalltask/zz_controller.go b/internal/controller/dedicatedserver/serverinstalltask/zz_controller.go index d1d7131..d74ad57 100755 --- a/internal/controller/dedicatedserver/serverinstalltask/zz_controller.go +++ b/internal/controller/dedicatedserver/serverinstalltask/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.ServerInstallTask // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.ServerInstallTaskList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.ServerInstallTaskList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.ServerInstallTask_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/dedicatedserver/servernetworking/zz_controller.go b/internal/controller/dedicatedserver/servernetworking/zz_controller.go index 0fd035b..caee25b 100755 --- a/internal/controller/dedicatedserver/servernetworking/zz_controller.go +++ b/internal/controller/dedicatedserver/servernetworking/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.ServerNetworking // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.ServerNetworkingList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.ServerNetworkingList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.ServerNetworking_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/dedicatedserver/serverreboottask/zz_controller.go b/internal/controller/dedicatedserver/serverreboottask/zz_controller.go index 8f7338e..8d91be0 100755 --- a/internal/controller/dedicatedserver/serverreboottask/zz_controller.go +++ b/internal/controller/dedicatedserver/serverreboottask/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.ServerRebootTask // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.ServerRebootTaskList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.ServerRebootTaskList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.ServerRebootTask_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/dedicatedserver/serverupdate/zz_controller.go b/internal/controller/dedicatedserver/serverupdate/zz_controller.go index f78745b..41ca34f 100755 --- a/internal/controller/dedicatedserver/serverupdate/zz_controller.go +++ b/internal/controller/dedicatedserver/serverupdate/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.ServerUpdate // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.ServerUpdateList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.ServerUpdateList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.ServerUpdate_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/dns/zone/zz_controller.go b/internal/controller/dns/zone/zz_controller.go index fda586f..85c306b 100755 --- a/internal/controller/dns/zone/zz_controller.go +++ b/internal/controller/dns/zone/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.Zone // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.ZoneList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.ZoneList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.Zone_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/dns/zonerecord/zz_controller.go b/internal/controller/dns/zonerecord/zz_controller.go index 9db6bc8..6755fd6 100755 --- a/internal/controller/dns/zonerecord/zz_controller.go +++ b/internal/controller/dns/zonerecord/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.ZoneRecord // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.ZoneRecordList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.ZoneRecordList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.ZoneRecord_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/dns/zoneredirection/zz_controller.go b/internal/controller/dns/zoneredirection/zz_controller.go index e68492d..443f076 100755 --- a/internal/controller/dns/zoneredirection/zz_controller.go +++ b/internal/controller/dns/zoneredirection/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.ZoneRedirection // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.ZoneRedirectionList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.ZoneRedirectionList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.ZoneRedirection_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/gateway/projectgateway/zz_controller.go b/internal/controller/gateway/projectgateway/zz_controller.go index 1843825..d14a0f4 100755 --- a/internal/controller/gateway/projectgateway/zz_controller.go +++ b/internal/controller/gateway/projectgateway/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.ProjectGateway // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.ProjectGatewayList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.ProjectGatewayList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.ProjectGateway_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/iam/iampermissionsgroup/zz_controller.go b/internal/controller/iam/iampermissionsgroup/zz_controller.go index be9d24f..88c767d 100755 --- a/internal/controller/iam/iampermissionsgroup/zz_controller.go +++ b/internal/controller/iam/iampermissionsgroup/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.IAMPermissionsGroup // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.IAMPermissionsGroupList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.IAMPermissionsGroupList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.IAMPermissionsGroup_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/iam/iampolicy/zz_controller.go b/internal/controller/iam/iampolicy/zz_controller.go index 1f35c7c..a7c7187 100755 --- a/internal/controller/iam/iampolicy/zz_controller.go +++ b/internal/controller/iam/iampolicy/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.IAMPolicy // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.IAMPolicyList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.IAMPolicyList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.IAMPolicy_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/iam/iamresourcegroup/zz_controller.go b/internal/controller/iam/iamresourcegroup/zz_controller.go index f8cbfaa..29819db 100755 --- a/internal/controller/iam/iamresourcegroup/zz_controller.go +++ b/internal/controller/iam/iamresourcegroup/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.IAMResourceGroup // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.IAMResourceGroupList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.IAMResourceGroupList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.IAMResourceGroup_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/kube/cluster/zz_controller.go b/internal/controller/kube/cluster/zz_controller.go index f1a1a59..650e59f 100755 --- a/internal/controller/kube/cluster/zz_controller.go +++ b/internal/controller/kube/cluster/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.Cluster // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.ClusterList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.ClusterList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.Cluster_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/kube/iprestriction/zz_controller.go b/internal/controller/kube/iprestriction/zz_controller.go index 5218505..608b9fa 100755 --- a/internal/controller/kube/iprestriction/zz_controller.go +++ b/internal/controller/kube/iprestriction/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.IpRestriction // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.IpRestrictionList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.IpRestrictionList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.IpRestriction_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/kube/nodepool/zz_controller.go b/internal/controller/kube/nodepool/zz_controller.go index a2fa8bb..2fabc55 100755 --- a/internal/controller/kube/nodepool/zz_controller.go +++ b/internal/controller/kube/nodepool/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.NodePool // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.NodePoolList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.NodePoolList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.NodePool_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/kube/oidcconfiguration/zz_controller.go b/internal/controller/kube/oidcconfiguration/zz_controller.go index d7ef116..c40bf38 100755 --- a/internal/controller/kube/oidcconfiguration/zz_controller.go +++ b/internal/controller/kube/oidcconfiguration/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.OIDCConfiguration // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.OIDCConfigurationList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.OIDCConfigurationList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.OIDCConfiguration_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/lb/httpfarm/zz_controller.go b/internal/controller/lb/httpfarm/zz_controller.go index b0990c1..086d1b9 100755 --- a/internal/controller/lb/httpfarm/zz_controller.go +++ b/internal/controller/lb/httpfarm/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.HTTPFarm // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.HTTPFarmList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.HTTPFarmList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.HTTPFarm_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/lb/httpfarmserver/zz_controller.go b/internal/controller/lb/httpfarmserver/zz_controller.go index cfca074..cb24bc8 100755 --- a/internal/controller/lb/httpfarmserver/zz_controller.go +++ b/internal/controller/lb/httpfarmserver/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.HTTPFarmServer // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.HTTPFarmServerList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.HTTPFarmServerList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.HTTPFarmServer_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/lb/httpfrontend/zz_controller.go b/internal/controller/lb/httpfrontend/zz_controller.go index 973ede0..1a60a7d 100755 --- a/internal/controller/lb/httpfrontend/zz_controller.go +++ b/internal/controller/lb/httpfrontend/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.HTTPFrontend // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.HTTPFrontendList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.HTTPFrontendList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.HTTPFrontend_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/lb/httproute/zz_controller.go b/internal/controller/lb/httproute/zz_controller.go index f149b60..e2963d2 100755 --- a/internal/controller/lb/httproute/zz_controller.go +++ b/internal/controller/lb/httproute/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.HTTPRoute // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.HTTPRouteList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.HTTPRouteList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.HTTPRoute_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/lb/httprouterule/zz_controller.go b/internal/controller/lb/httprouterule/zz_controller.go index f4250fa..e6af327 100755 --- a/internal/controller/lb/httprouterule/zz_controller.go +++ b/internal/controller/lb/httprouterule/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.HTTPRouteRule // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.HTTPRouteRuleList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.HTTPRouteRuleList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.HTTPRouteRule_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/lb/iploadbalancing/zz_controller.go b/internal/controller/lb/iploadbalancing/zz_controller.go index 1a087d4..7868309 100755 --- a/internal/controller/lb/iploadbalancing/zz_controller.go +++ b/internal/controller/lb/iploadbalancing/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.Iploadbalancing // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.IploadbalancingList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.IploadbalancingList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.Iploadbalancing_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/lb/refresh/zz_controller.go b/internal/controller/lb/refresh/zz_controller.go index 365ef67..5d3379c 100755 --- a/internal/controller/lb/refresh/zz_controller.go +++ b/internal/controller/lb/refresh/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.Refresh // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.RefreshList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.RefreshList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.Refresh_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/lb/tcpfarm/zz_controller.go b/internal/controller/lb/tcpfarm/zz_controller.go index cd73afe..6a4198d 100755 --- a/internal/controller/lb/tcpfarm/zz_controller.go +++ b/internal/controller/lb/tcpfarm/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.TCPFarm // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.TCPFarmList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.TCPFarmList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.TCPFarm_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/lb/tcpfarmserver/zz_controller.go b/internal/controller/lb/tcpfarmserver/zz_controller.go index cff2397..abe5cb7 100755 --- a/internal/controller/lb/tcpfarmserver/zz_controller.go +++ b/internal/controller/lb/tcpfarmserver/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.TCPFarmServer // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.TCPFarmServerList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.TCPFarmServerList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.TCPFarmServer_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/lb/tcpfrontend/zz_controller.go b/internal/controller/lb/tcpfrontend/zz_controller.go index 978946c..57380fc 100755 --- a/internal/controller/lb/tcpfrontend/zz_controller.go +++ b/internal/controller/lb/tcpfrontend/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.TCPFrontend // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.TCPFrontendList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.TCPFrontendList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.TCPFrontend_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/lb/tcproute/zz_controller.go b/internal/controller/lb/tcproute/zz_controller.go index 2dbd119..acad3ee 100755 --- a/internal/controller/lb/tcproute/zz_controller.go +++ b/internal/controller/lb/tcproute/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.TCPRoute // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.TCPRouteList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.TCPRouteList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.TCPRoute_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/lb/tcprouterule/zz_controller.go b/internal/controller/lb/tcprouterule/zz_controller.go index 4fde1ed..6ec81b6 100755 --- a/internal/controller/lb/tcprouterule/zz_controller.go +++ b/internal/controller/lb/tcprouterule/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.TCPRouteRule // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.TCPRouteRuleList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.TCPRouteRuleList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.TCPRouteRule_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/lb/vracknetwork/zz_controller.go b/internal/controller/lb/vracknetwork/zz_controller.go index 4aa80b6..d6f1cf3 100755 --- a/internal/controller/lb/vracknetwork/zz_controller.go +++ b/internal/controller/lb/vracknetwork/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.VrackNetwork // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.VrackNetworkList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.VrackNetworkList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.VrackNetwork_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/logs/logscluster/zz_controller.go b/internal/controller/logs/logscluster/zz_controller.go index a7eb23c..ea31a0f 100755 --- a/internal/controller/logs/logscluster/zz_controller.go +++ b/internal/controller/logs/logscluster/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.LogsCluster // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.LogsClusterList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.LogsClusterList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.LogsCluster_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/logs/logsinput/zz_controller.go b/internal/controller/logs/logsinput/zz_controller.go index 9fa5528..d7b5231 100755 --- a/internal/controller/logs/logsinput/zz_controller.go +++ b/internal/controller/logs/logsinput/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.LogsInput // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.LogsInputList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.LogsInputList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.LogsInput_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/me/group/zz_controller.go b/internal/controller/me/group/zz_controller.go index 0a25ec1..421c5ec 100755 --- a/internal/controller/me/group/zz_controller.go +++ b/internal/controller/me/group/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.Group // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.GroupList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.GroupList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.Group_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/me/oauth2client/zz_controller.go b/internal/controller/me/oauth2client/zz_controller.go index 74fcb51..f41c160 100755 --- a/internal/controller/me/oauth2client/zz_controller.go +++ b/internal/controller/me/oauth2client/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.Oauth2Client // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.Oauth2ClientList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.Oauth2ClientList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.Oauth2Client_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/me/sshkey/zz_controller.go b/internal/controller/me/sshkey/zz_controller.go deleted file mode 100755 index 7aa4aaa..0000000 --- a/internal/controller/me/sshkey/zz_controller.go +++ /dev/null @@ -1,74 +0,0 @@ -/* -Copyright 2022 Upbound Inc. -*/ - -// Code generated by upjet. DO NOT EDIT. - -package sshkey - -import ( - "time" - - "github.com/crossplane/crossplane-runtime/pkg/connection" - "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" - "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" - xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" - tjcontroller "github.com/crossplane/upjet/pkg/controller" - "github.com/crossplane/upjet/pkg/controller/handler" - "github.com/crossplane/upjet/pkg/terraform" - "github.com/pkg/errors" - ctrl "sigs.k8s.io/controller-runtime" - - v1alpha1 "github.com/edixos/provider-ovh/apis/me/v1alpha1" - features "github.com/edixos/provider-ovh/internal/features" -) - -// Setup adds a controller that reconciles SSHKey managed resources. -func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { - name := managed.ControllerName(v1alpha1.SSHKey_GroupVersionKind.String()) - var initializers managed.InitializerChain - cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} - if o.SecretStoreConfigGVK != nil { - cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK, connection.WithTLSConfig(o.ESSOptions.TLSConfig))) - } - eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SSHKey_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SSHKey_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) - opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["ovh_me_ssh_key"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), - managed.WithLogger(o.Logger.WithValues("controller", name)), - managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), - managed.WithTimeout(3 * time.Minute), - managed.WithInitializers(initializers), - managed.WithConnectionPublishers(cps...), - managed.WithPollInterval(o.PollInterval), - } - if o.PollJitter != 0 { - opts = append(opts, managed.WithPollJitterHook(o.PollJitter)) - } - if o.Features.Enabled(features.EnableBetaManagementPolicies) { - opts = append(opts, managed.WithManagementPolicies()) - } - - // register webhooks for the kind v1alpha1.SSHKey - // if they're enabled. - if o.StartWebhooks { - if err := ctrl.NewWebhookManagedBy(mgr). - For(&v1alpha1.SSHKey{}). - Complete(); err != nil { - return errors.Wrap(err, "cannot register webhook for the kind v1alpha1.SSHKey") - } - } - - r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.SSHKey_GroupVersionKind), opts...) - - return ctrl.NewControllerManagedBy(mgr). - Named(name). - WithOptions(o.ForControllerRuntime()). - WithEventFilter(xpresource.DesiredStateChanged()). - Watches(&v1alpha1.SSHKey{}, eventHandler). - Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) -} diff --git a/internal/controller/me/user/zz_controller.go b/internal/controller/me/user/zz_controller.go index 4a13edc..a40a8ae 100755 --- a/internal/controller/me/user/zz_controller.go +++ b/internal/controller/me/user/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.User // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.UserList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.UserList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.User_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/nas/nashapartition/zz_controller.go b/internal/controller/nas/nashapartition/zz_controller.go index 9efac3a..a6f323a 100755 --- a/internal/controller/nas/nashapartition/zz_controller.go +++ b/internal/controller/nas/nashapartition/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.NashaPartition // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.NashaPartitionList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.NashaPartitionList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.NashaPartition_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/nas/nashapartitionaccess/zz_controller.go b/internal/controller/nas/nashapartitionaccess/zz_controller.go index 610205f..6a3cf57 100755 --- a/internal/controller/nas/nashapartitionaccess/zz_controller.go +++ b/internal/controller/nas/nashapartitionaccess/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.NashaPartitionAccess // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.NashaPartitionAccessList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.NashaPartitionAccessList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.NashaPartitionAccess_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/nas/nashapartitionsnapshot/zz_controller.go b/internal/controller/nas/nashapartitionsnapshot/zz_controller.go index d4de1bd..065c4c5 100755 --- a/internal/controller/nas/nashapartitionsnapshot/zz_controller.go +++ b/internal/controller/nas/nashapartitionsnapshot/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.NashaPartitionSnapshot // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.NashaPartitionSnapshotList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.NashaPartitionSnapshotList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.NashaPartitionSnapshot_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/network/privatenetwork/zz_controller.go b/internal/controller/network/privatenetwork/zz_controller.go index 2bc5241..db6730c 100755 --- a/internal/controller/network/privatenetwork/zz_controller.go +++ b/internal/controller/network/privatenetwork/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.PrivateNetwork // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.PrivateNetworkList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.PrivateNetworkList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.PrivateNetwork_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/network/subnet/zz_controller.go b/internal/controller/network/subnet/zz_controller.go index 39b735b..785e24b 100755 --- a/internal/controller/network/subnet/zz_controller.go +++ b/internal/controller/network/subnet/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.Subnet // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.SubnetList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.SubnetList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.Subnet_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/privatesql/privatedatabase/zz_controller.go b/internal/controller/privatesql/privatedatabase/zz_controller.go index 56af34e..37d4de3 100755 --- a/internal/controller/privatesql/privatedatabase/zz_controller.go +++ b/internal/controller/privatesql/privatedatabase/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.Privatedatabase // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.PrivatedatabaseList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.PrivatedatabaseList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.Privatedatabase_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/privatesql/privatedatabasedatabase/zz_controller.go b/internal/controller/privatesql/privatedatabasedatabase/zz_controller.go index 8a6ccb4..21ff4bc 100755 --- a/internal/controller/privatesql/privatedatabasedatabase/zz_controller.go +++ b/internal/controller/privatesql/privatedatabasedatabase/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.PrivatedatabaseDatabase // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.PrivatedatabaseDatabaseList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.PrivatedatabaseDatabaseList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.PrivatedatabaseDatabase_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/privatesql/privatedatabaseuser/zz_controller.go b/internal/controller/privatesql/privatedatabaseuser/zz_controller.go index 1a529f7..619e167 100755 --- a/internal/controller/privatesql/privatedatabaseuser/zz_controller.go +++ b/internal/controller/privatesql/privatedatabaseuser/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.PrivatedatabaseUser // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.PrivatedatabaseUserList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.PrivatedatabaseUserList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.PrivatedatabaseUser_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/privatesql/privatedatabaseusergrant/zz_controller.go b/internal/controller/privatesql/privatedatabaseusergrant/zz_controller.go index 609668a..fa94353 100755 --- a/internal/controller/privatesql/privatedatabaseusergrant/zz_controller.go +++ b/internal/controller/privatesql/privatedatabaseusergrant/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.PrivatedatabaseUserGrant // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.PrivatedatabaseUserGrantList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.PrivatedatabaseUserGrantList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.PrivatedatabaseUserGrant_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/privatesql/privatedatabasewhitelist/zz_controller.go b/internal/controller/privatesql/privatedatabasewhitelist/zz_controller.go index 90de0a5..dc041e0 100755 --- a/internal/controller/privatesql/privatedatabasewhitelist/zz_controller.go +++ b/internal/controller/privatesql/privatedatabasewhitelist/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.PrivatedatabaseWhitelist // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.PrivatedatabaseWhitelistList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.PrivatedatabaseWhitelistList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.PrivatedatabaseWhitelist_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/registry/containerregistry/zz_controller.go b/internal/controller/registry/containerregistry/zz_controller.go index 5d18d51..a04d95d 100755 --- a/internal/controller/registry/containerregistry/zz_controller.go +++ b/internal/controller/registry/containerregistry/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.ContainerRegistry // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.ContainerRegistryList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.ContainerRegistryList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.ContainerRegistry_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/registry/containerregistryiprestrictionsmanagement/zz_controller.go b/internal/controller/registry/containerregistryiprestrictionsmanagement/zz_controller.go index 37f7bb0..1f9d82d 100755 --- a/internal/controller/registry/containerregistryiprestrictionsmanagement/zz_controller.go +++ b/internal/controller/registry/containerregistryiprestrictionsmanagement/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.ContainerRegistryIPRestrictionsManagement // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.ContainerRegistryIPRestrictionsManagementList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.ContainerRegistryIPRestrictionsManagementList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.ContainerRegistryIPRestrictionsManagement_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/registry/containerregistryiprestrictionsregistry/zz_controller.go b/internal/controller/registry/containerregistryiprestrictionsregistry/zz_controller.go index 35485fc..55a98b5 100755 --- a/internal/controller/registry/containerregistryiprestrictionsregistry/zz_controller.go +++ b/internal/controller/registry/containerregistryiprestrictionsregistry/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.ContainerRegistryIPRestrictionsRegistry // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.ContainerRegistryIPRestrictionsRegistryList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.ContainerRegistryIPRestrictionsRegistryList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.ContainerRegistryIPRestrictionsRegistry_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/registry/containerregistryoidc/zz_controller.go b/internal/controller/registry/containerregistryoidc/zz_controller.go index 7ce67a3..5bd5a44 100755 --- a/internal/controller/registry/containerregistryoidc/zz_controller.go +++ b/internal/controller/registry/containerregistryoidc/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.ContainerRegistryOIDC // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.ContainerRegistryOIDCList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.ContainerRegistryOIDCList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.ContainerRegistryOIDC_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/registry/containerregistryuser/zz_controller.go b/internal/controller/registry/containerregistryuser/zz_controller.go index 8e04ddc..9f60fcb 100755 --- a/internal/controller/registry/containerregistryuser/zz_controller.go +++ b/internal/controller/registry/containerregistryuser/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.ContainerRegistryUser // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.ContainerRegistryUserList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.ContainerRegistryUserList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.ContainerRegistryUser_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/storage/projectregionstoragepresign/zz_controller.go b/internal/controller/storage/projectregionstoragepresign/zz_controller.go index 6fa1a3d..5c9be1e 100755 --- a/internal/controller/storage/projectregionstoragepresign/zz_controller.go +++ b/internal/controller/storage/projectregionstoragepresign/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.ProjectRegionStoragePresign // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.ProjectRegionStoragePresignList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.ProjectRegionStoragePresignList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.ProjectRegionStoragePresign_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/vminstances/projectworkflowbackup/zz_controller.go b/internal/controller/vminstances/projectworkflowbackup/zz_controller.go index dee42f1..168cc2d 100755 --- a/internal/controller/vminstances/projectworkflowbackup/zz_controller.go +++ b/internal/controller/vminstances/projectworkflowbackup/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -53,6 +54,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.ProjectWorkflowBackup // if they're enabled. @@ -64,6 +68,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.ProjectWorkflowBackupList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.ProjectWorkflowBackupList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.ProjectWorkflowBackup_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/vrack/cloudproject/zz_controller.go b/internal/controller/vrack/cloudproject/zz_controller.go index 6eac3be..f2f7139 100755 --- a/internal/controller/vrack/cloudproject/zz_controller.go +++ b/internal/controller/vrack/cloudproject/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.Cloudproject // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.CloudprojectList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.CloudprojectList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.Cloudproject_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/vrack/dedicatedserver/zz_controller.go b/internal/controller/vrack/dedicatedserver/zz_controller.go index ffadd72..3a209c4 100755 --- a/internal/controller/vrack/dedicatedserver/zz_controller.go +++ b/internal/controller/vrack/dedicatedserver/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.DedicatedServer // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.DedicatedServerList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.DedicatedServerList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.DedicatedServer_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/vrack/dedicatedserverinterface/zz_controller.go b/internal/controller/vrack/dedicatedserverinterface/zz_controller.go index c98c061..4a4d3a1 100755 --- a/internal/controller/vrack/dedicatedserverinterface/zz_controller.go +++ b/internal/controller/vrack/dedicatedserverinterface/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.DedicatedServerInterface // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.DedicatedServerInterfaceList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.DedicatedServerInterfaceList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.DedicatedServerInterface_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/vrack/ip/zz_controller.go b/internal/controller/vrack/ip/zz_controller.go index 70f5dce..d22fe27 100755 --- a/internal/controller/vrack/ip/zz_controller.go +++ b/internal/controller/vrack/ip/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.IP // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.IPList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.IPList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.IP_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/vrack/iploadbalancing/zz_controller.go b/internal/controller/vrack/iploadbalancing/zz_controller.go index 8fd2c61..55602a2 100755 --- a/internal/controller/vrack/iploadbalancing/zz_controller.go +++ b/internal/controller/vrack/iploadbalancing/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.Iploadbalancing // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.IploadbalancingList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.IploadbalancingList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.Iploadbalancing_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/vrack/vrack/zz_controller.go b/internal/controller/vrack/vrack/zz_controller.go index fa80823..00d9b6d 100755 --- a/internal/controller/vrack/vrack/zz_controller.go +++ b/internal/controller/vrack/vrack/zz_controller.go @@ -14,6 +14,7 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/pkg/controller" "github.com/crossplane/upjet/pkg/controller/handler" "github.com/crossplane/upjet/pkg/terraform" @@ -52,6 +53,9 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.Features.Enabled(features.EnableBetaManagementPolicies) { opts = append(opts, managed.WithManagementPolicies()) } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } // register webhooks for the kind v1alpha1.Vrack // if they're enabled. @@ -63,6 +67,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { } } + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.VrackList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.VrackList") + } + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.Vrack_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). diff --git a/internal/controller/zz_setup.go b/internal/controller/zz_setup.go index 0ff8b34..46b750c 100755 --- a/internal/controller/zz_setup.go +++ b/internal/controller/zz_setup.go @@ -70,7 +70,6 @@ import ( logsinput "github.com/edixos/provider-ovh/internal/controller/logs/logsinput" group "github.com/edixos/provider-ovh/internal/controller/me/group" oauth2client "github.com/edixos/provider-ovh/internal/controller/me/oauth2client" - sshkey "github.com/edixos/provider-ovh/internal/controller/me/sshkey" userme "github.com/edixos/provider-ovh/internal/controller/me/user" nashapartition "github.com/edixos/provider-ovh/internal/controller/nas/nashapartition" nashapartitionaccess "github.com/edixos/provider-ovh/internal/controller/nas/nashapartitionaccess" @@ -163,7 +162,6 @@ func Setup(mgr ctrl.Manager, o controller.Options) error { logsinput.Setup, group.Setup, oauth2client.Setup, - sshkey.Setup, userme.Setup, nashapartition.Setup, nashapartitionaccess.Setup, diff --git a/package/crds/additionalip.ovh.edixos.io_moves.yaml b/package/crds/additionalip.ovh.edixos.io_moves.yaml index 8efc72f..b9d3952 100644 --- a/package/crds/additionalip.ovh.edixos.io_moves.yaml +++ b/package/crds/additionalip.ovh.edixos.io_moves.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -349,6 +349,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -372,6 +379,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/additionalip.ovh.edixos.io_projectfailoveripattaches.yaml b/package/crds/additionalip.ovh.edixos.io_projectfailoveripattaches.yaml index b9d61ae..4795f2b 100644 --- a/package/crds/additionalip.ovh.edixos.io_projectfailoveripattaches.yaml +++ b/package/crds/additionalip.ovh.edixos.io_projectfailoveripattaches.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -349,6 +349,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -372,6 +379,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/additionalip.ovh.edixos.io_reverses.yaml b/package/crds/additionalip.ovh.edixos.io_reverses.yaml index 55758cc..3ca4271 100644 --- a/package/crds/additionalip.ovh.edixos.io_reverses.yaml +++ b/package/crds/additionalip.ovh.edixos.io_reverses.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -309,6 +309,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -332,6 +339,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/additionalip.ovh.edixos.io_services.yaml b/package/crds/additionalip.ovh.edixos.io_services.yaml index 13dc309..572de2d 100644 --- a/package/crds/additionalip.ovh.edixos.io_services.yaml +++ b/package/crds/additionalip.ovh.edixos.io_services.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -75,6 +75,11 @@ spec: description: description: Custom description on your ip type: string + order: + description: Details about an Order + items: + type: object + type: array ovhSubsidiary: description: Ovh Subsidiary type: string @@ -160,6 +165,11 @@ spec: description: description: Custom description on your ip type: string + order: + description: Details about an Order + items: + type: object + type: array ovhSubsidiary: description: Ovh Subsidiary type: string @@ -426,8 +436,10 @@ spec: items: properties: date: + description: date type: string details: + description: Information about a Bill entry items: properties: description: @@ -441,8 +453,10 @@ spec: type: object type: array expirationDate: + description: expiration date type: string orderId: + description: order id type: number type: object type: array @@ -546,6 +560,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -569,6 +590,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/cloud.ovh.edixos.io_projects.yaml b/package/crds/cloud.ovh.edixos.io_projects.yaml index 75a22c0..b675f41 100644 --- a/package/crds/cloud.ovh.edixos.io_projects.yaml +++ b/package/crds/cloud.ovh.edixos.io_projects.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -74,6 +74,11 @@ spec: properties: description: type: string + order: + description: Details about an Order + items: + type: object + type: array ovhSubsidiary: description: Ovh Subsidiary type: string @@ -158,6 +163,11 @@ spec: properties: description: type: string + order: + description: Details about an Order + items: + type: object + type: array ovhSubsidiary: description: Ovh Subsidiary type: string @@ -419,8 +429,10 @@ spec: items: properties: date: + description: date type: string details: + description: Information about a Bill entry items: properties: description: @@ -434,8 +446,10 @@ spec: type: object type: array expirationDate: + description: expiration date type: string orderId: + description: order id type: number type: object type: array @@ -532,6 +546,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -555,6 +576,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/cloud.ovh.edixos.io_s3credentials.yaml b/package/crds/cloud.ovh.edixos.io_s3credentials.yaml index 7817626..2985437 100644 --- a/package/crds/cloud.ovh.edixos.io_s3credentials.yaml +++ b/package/crds/cloud.ovh.edixos.io_s3credentials.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -456,6 +456,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -479,6 +486,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/cloud.ovh.edixos.io_s3policies.yaml b/package/crds/cloud.ovh.edixos.io_s3policies.yaml index af34be7..5d4b29c 100644 --- a/package/crds/cloud.ovh.edixos.io_s3policies.yaml +++ b/package/crds/cloud.ovh.edixos.io_s3policies.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -465,6 +465,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -488,6 +495,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/cloud.ovh.edixos.io_users.yaml b/package/crds/cloud.ovh.edixos.io_users.yaml index 71c8e9a..59a926d 100644 --- a/package/crds/cloud.ovh.edixos.io_users.yaml +++ b/package/crds/cloud.ovh.edixos.io_users.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -356,6 +356,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -379,6 +386,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/clouddiskarray.ovh.edixos.io_cephacls.yaml b/package/crds/clouddiskarray.ovh.edixos.io_cephacls.yaml index 1295457..ec46bc3 100644 --- a/package/crds/clouddiskarray.ovh.edixos.io_cephacls.yaml +++ b/package/crds/clouddiskarray.ovh.edixos.io_cephacls.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -311,6 +311,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -334,6 +341,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/databases.ovh.edixos.io_projectdatabasedatabases.yaml b/package/crds/databases.ovh.edixos.io_projectdatabasedatabases.yaml index 748c158..992a155 100644 --- a/package/crds/databases.ovh.edixos.io_projectdatabasedatabases.yaml +++ b/package/crds/databases.ovh.edixos.io_projectdatabasedatabases.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -334,6 +334,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -357,6 +364,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/databases.ovh.edixos.io_projectdatabaseintegrations.yaml b/package/crds/databases.ovh.edixos.io_projectdatabaseintegrations.yaml index 708b5ab..fd89139 100644 --- a/package/crds/databases.ovh.edixos.io_projectdatabaseintegrations.yaml +++ b/package/crds/databases.ovh.edixos.io_projectdatabaseintegrations.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -374,6 +374,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -397,6 +404,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/databases.ovh.edixos.io_projectdatabaseiprestrictions.yaml b/package/crds/databases.ovh.edixos.io_projectdatabaseiprestrictions.yaml index 38b4ddd..dfdce22 100644 --- a/package/crds/databases.ovh.edixos.io_projectdatabaseiprestrictions.yaml +++ b/package/crds/databases.ovh.edixos.io_projectdatabaseiprestrictions.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -343,6 +343,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -366,6 +373,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/databases.ovh.edixos.io_projectdatabasekafkaacls.yaml b/package/crds/databases.ovh.edixos.io_projectdatabasekafkaacls.yaml index 34c0219..cb251b6 100644 --- a/package/crds/databases.ovh.edixos.io_projectdatabasekafkaacls.yaml +++ b/package/crds/databases.ovh.edixos.io_projectdatabasekafkaacls.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -344,6 +344,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -367,6 +374,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/databases.ovh.edixos.io_projectdatabasekafkaschemaregistryacls.yaml b/package/crds/databases.ovh.edixos.io_projectdatabasekafkaschemaregistryacls.yaml index 0694735..6dc0d81 100644 --- a/package/crds/databases.ovh.edixos.io_projectdatabasekafkaschemaregistryacls.yaml +++ b/package/crds/databases.ovh.edixos.io_projectdatabasekafkaschemaregistryacls.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -344,6 +344,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -367,6 +374,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/databases.ovh.edixos.io_projectdatabasekafkatopics.yaml b/package/crds/databases.ovh.edixos.io_projectdatabasekafkatopics.yaml index d7abf0c..31e3e9b 100644 --- a/package/crds/databases.ovh.edixos.io_projectdatabasekafkatopics.yaml +++ b/package/crds/databases.ovh.edixos.io_projectdatabasekafkatopics.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -369,6 +369,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -392,6 +399,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/databases.ovh.edixos.io_projectdatabasem3dbnamespaces.yaml b/package/crds/databases.ovh.edixos.io_projectdatabasem3dbnamespaces.yaml index 0785b6c..d0752c0 100644 --- a/package/crds/databases.ovh.edixos.io_projectdatabasem3dbnamespaces.yaml +++ b/package/crds/databases.ovh.edixos.io_projectdatabasem3dbnamespaces.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -419,6 +419,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -442,6 +449,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/databases.ovh.edixos.io_projectdatabasem3dbusers.yaml b/package/crds/databases.ovh.edixos.io_projectdatabasem3dbusers.yaml index 1d3520c..cc19d54 100644 --- a/package/crds/databases.ovh.edixos.io_projectdatabasem3dbusers.yaml +++ b/package/crds/databases.ovh.edixos.io_projectdatabasem3dbusers.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -345,6 +345,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -368,6 +375,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/databases.ovh.edixos.io_projectdatabasemongodbusers.yaml b/package/crds/databases.ovh.edixos.io_projectdatabasemongodbusers.yaml index dce2f19..5f4fc45 100644 --- a/package/crds/databases.ovh.edixos.io_projectdatabasemongodbusers.yaml +++ b/package/crds/databases.ovh.edixos.io_projectdatabasemongodbusers.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -357,6 +357,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -380,6 +387,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/databases.ovh.edixos.io_projectdatabaseopensearchpatterns.yaml b/package/crds/databases.ovh.edixos.io_projectdatabaseopensearchpatterns.yaml index 76afec6..c762760 100644 --- a/package/crds/databases.ovh.edixos.io_projectdatabaseopensearchpatterns.yaml +++ b/package/crds/databases.ovh.edixos.io_projectdatabaseopensearchpatterns.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -327,6 +327,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -350,6 +357,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/databases.ovh.edixos.io_projectdatabaseopensearchusers.yaml b/package/crds/databases.ovh.edixos.io_projectdatabaseopensearchusers.yaml index 83ef8b2..d8b45d6 100644 --- a/package/crds/databases.ovh.edixos.io_projectdatabaseopensearchusers.yaml +++ b/package/crds/databases.ovh.edixos.io_projectdatabaseopensearchusers.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -372,6 +372,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -395,6 +402,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/databases.ovh.edixos.io_projectdatabasepostgresqlconnectionpools.yaml b/package/crds/databases.ovh.edixos.io_projectdatabasepostgresqlconnectionpools.yaml index 570772a..b1137d3 100644 --- a/package/crds/databases.ovh.edixos.io_projectdatabasepostgresqlconnectionpools.yaml +++ b/package/crds/databases.ovh.edixos.io_projectdatabasepostgresqlconnectionpools.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -378,6 +378,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -401,6 +408,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/databases.ovh.edixos.io_projectdatabasepostgresqlusers.yaml b/package/crds/databases.ovh.edixos.io_projectdatabasepostgresqlusers.yaml index 4794086..35155ad 100644 --- a/package/crds/databases.ovh.edixos.io_projectdatabasepostgresqlusers.yaml +++ b/package/crds/databases.ovh.edixos.io_projectdatabasepostgresqlusers.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -354,6 +354,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -377,6 +384,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/databases.ovh.edixos.io_projectdatabaseredisusers.yaml b/package/crds/databases.ovh.edixos.io_projectdatabaseredisusers.yaml index 61c3a18..a925820 100644 --- a/package/crds/databases.ovh.edixos.io_projectdatabaseredisusers.yaml +++ b/package/crds/databases.ovh.edixos.io_projectdatabaseredisusers.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -408,6 +408,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -431,6 +438,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/databases.ovh.edixos.io_projectdatabases.yaml b/package/crds/databases.ovh.edixos.io_projectdatabases.yaml index fc10619..08e7399 100644 --- a/package/crds/databases.ovh.edixos.io_projectdatabases.yaml +++ b/package/crds/databases.ovh.edixos.io_projectdatabases.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -102,10 +102,26 @@ spec: flavor: description: The node flavor used for this cluster type: string + ipRestrictions: + description: IP Blocks authorized to access to the cluster + items: + properties: + description: + description: Description of the IP restriction + type: string + ip: + description: Authorized IP + type: string + type: object + type: array kafkaRestApi: description: Defines whether the REST API is enabled on a Kafka cluster type: boolean + kafkaSchemaRegistry: + description: Defines whether the schema registry is enabled on + a Kafka cluster + type: boolean nodes: description: List of nodes composing the service items: @@ -177,10 +193,26 @@ spec: flavor: description: The node flavor used for this cluster type: string + ipRestrictions: + description: IP Blocks authorized to access to the cluster + items: + properties: + description: + description: Description of the IP restriction + type: string + ip: + description: Authorized IP + type: string + type: object + type: array kafkaRestApi: description: Defines whether the REST API is enabled on a Kafka cluster type: boolean + kafkaSchemaRegistry: + description: Defines whether the schema registry is enabled on + a Kafka cluster + type: boolean nodes: description: List of nodes composing the service items: @@ -466,10 +498,29 @@ spec: type: string id: type: string + ipRestrictions: + description: IP Blocks authorized to access to the cluster + items: + properties: + description: + description: Description of the IP restriction + type: string + ip: + description: Authorized IP + type: string + status: + description: Current status of the IP restriction + type: string + type: object + type: array kafkaRestApi: description: Defines whether the REST API is enabled on a Kafka cluster type: boolean + kafkaSchemaRegistry: + description: Defines whether the schema registry is enabled on + a Kafka cluster + type: boolean maintenanceTime: description: Time on which maintenances can start every day type: string @@ -524,6 +575,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -547,6 +605,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/databases.ovh.edixos.io_projectdatabaseusers.yaml b/package/crds/databases.ovh.edixos.io_projectdatabaseusers.yaml index b3ae152..7ebe39c 100644 --- a/package/crds/databases.ovh.edixos.io_projectdatabaseusers.yaml +++ b/package/crds/databases.ovh.edixos.io_projectdatabaseusers.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -347,6 +347,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -370,6 +377,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/dedicatedserver.ovh.edixos.io_installationtemplatepartitionschemehardwareraids.yaml b/package/crds/dedicatedserver.ovh.edixos.io_installationtemplatepartitionschemehardwareraids.yaml index 8c34053..2dc265f 100644 --- a/package/crds/dedicatedserver.ovh.edixos.io_installationtemplatepartitionschemehardwareraids.yaml +++ b/package/crds/dedicatedserver.ovh.edixos.io_installationtemplatepartitionschemehardwareraids.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -375,6 +375,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -398,6 +405,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/dedicatedserver.ovh.edixos.io_installationtemplatepartitionschemepartitions.yaml b/package/crds/dedicatedserver.ovh.edixos.io_installationtemplatepartitionschemepartitions.yaml index d031ee2..7b7c9b2 100644 --- a/package/crds/dedicatedserver.ovh.edixos.io_installationtemplatepartitionschemepartitions.yaml +++ b/package/crds/dedicatedserver.ovh.edixos.io_installationtemplatepartitionschemepartitions.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -394,6 +394,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -417,6 +424,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/dedicatedserver.ovh.edixos.io_installationtemplatepartitionschemes.yaml b/package/crds/dedicatedserver.ovh.edixos.io_installationtemplatepartitionschemes.yaml index 1df2cb5..b7aa39a 100644 --- a/package/crds/dedicatedserver.ovh.edixos.io_installationtemplatepartitionschemes.yaml +++ b/package/crds/dedicatedserver.ovh.edixos.io_installationtemplatepartitionschemes.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -330,6 +330,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -353,6 +360,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/dedicatedserver.ovh.edixos.io_installationtemplates.yaml b/package/crds/dedicatedserver.ovh.edixos.io_installationtemplates.yaml index f6e428b..5448a72 100644 --- a/package/crds/dedicatedserver.ovh.edixos.io_installationtemplates.yaml +++ b/package/crds/dedicatedserver.ovh.edixos.io_installationtemplates.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -80,9 +80,6 @@ spec: customization: items: properties: - changeLog: - description: Template change log details - type: string customHostname: description: Set up the server using the provided hostname instead of the default hostname @@ -98,21 +95,8 @@ spec: case of succes. A good example is ''loh1Xee7eo OK OK OK UGh8Ang1Gu''' type: string - rating: - type: number - sshKeyName: - description: Name of the ssh key that should be installed. - Password login will be disabled - type: string - useDistributionKernel: - description: Use the distribution's native kernel instead - of the recommended OVH Kernel - type: boolean type: object type: array - defaultLanguage: - description: The default language of this template - type: string removeDefaultPartitionSchemes: description: Remove default partition schemes at creation type: boolean @@ -140,9 +124,6 @@ spec: customization: items: properties: - changeLog: - description: Template change log details - type: string customHostname: description: Set up the server using the provided hostname instead of the default hostname @@ -158,21 +139,8 @@ spec: case of succes. A good example is ''loh1Xee7eo OK OK OK UGh8Ang1Gu''' type: string - rating: - type: number - sshKeyName: - description: Name of the ssh key that should be installed. - Password login will be disabled - type: string - useDistributionKernel: - description: Use the distribution's native kernel instead - of the recommended OVH Kernel - type: boolean type: object type: array - defaultLanguage: - description: The default language of this template - type: string removeDefaultPartitionSchemes: description: Remove default partition schemes at creation type: boolean @@ -352,10 +320,6 @@ spec: rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies || ''Update'' in self.managementPolicies) || has(self.forProvider.baseTemplateName) || (has(self.initProvider) && has(self.initProvider.baseTemplateName))' - - message: spec.forProvider.defaultLanguage is a required parameter - rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies - || ''Update'' in self.managementPolicies) || has(self.forProvider.defaultLanguage) - || (has(self.initProvider) && has(self.initProvider.defaultLanguage))' - message: spec.forProvider.templateName is a required parameter rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies || ''Update'' in self.managementPolicies) || has(self.forProvider.templateName) @@ -366,19 +330,10 @@ spec: properties: atProvider: properties: - availableLanguages: - description: List of all language available for this template - items: - type: string - type: array baseTemplateName: description: OVH template name yours will be based on, choose one among the list given by compatibleTemplates function type: string - beta: - description: This distribution is new and, although tested and - functional, may still display odd behaviour - type: boolean bitFormat: description: This template bit format (32 or 64) type: number @@ -389,9 +344,6 @@ spec: customization: items: properties: - changeLog: - description: Template change log details - type: string customHostname: description: Set up the server using the provided hostname instead of the default hostname @@ -407,35 +359,23 @@ spec: case of succes. A good example is ''loh1Xee7eo OK OK OK UGh8Ang1Gu''' type: string - rating: - type: number - sshKeyName: - description: Name of the ssh key that should be installed. - Password login will be disabled - type: string - useDistributionKernel: - description: Use the distribution's native kernel instead - of the recommended OVH Kernel - type: boolean type: object type: array - defaultLanguage: - description: The default language of this template - type: string - deprecated: - description: is this distribution deprecated - type: boolean description: description: information about this template type: string distribution: description: the distribution this template is based on type: string + endOfInstall: + description: after this date, install of this template will not + be possible at OVH + type: string family: - description: this template family type (bsd,linux,solaris,windows) + description: this template family type type: string filesystems: - description: Filesystems available (btrfs,ext3,ext4,ntfs,reiserfs,swap,ufs,xfs,zfs) + description: Filesystems available items: type: string type: array @@ -445,27 +385,43 @@ spec: type: boolean id: type: string - lastModification: - description: Date of last modification of the base image - type: string + inputs: + items: + properties: + default: + type: string + description: + type: string + enum: + items: + type: string + type: array + mandatory: + type: boolean + name: + type: string + type: + type: string + type: object + type: array lvmReady: - description: This distribution supports Logical Volumes (Linux - LVM) + description: Whether this distribution supports Logical Volumes + (Linux LVM) + type: boolean + noPartitioning: + description: Partitioning customization is not available for this + OS template type: boolean removeDefaultPartitionSchemes: description: Remove default partition schemes at creation type: boolean - supportsDistributionKernel: - description: This distribution supports installation using the - distribution's native kernel instead of the recommended OVH - kernel - type: boolean - supportsRtm: - description: This distribution supports RTM software - type: boolean - supportsSqlServer: - description: This distribution supports the microsoft SQL server + softRaidOnlyMirroring: + description: Partitioning customization is available but limited + to mirroring for this OS template type: boolean + subfamily: + description: this template subfamily type + type: string templateName: description: This template name type: string @@ -486,6 +442,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -509,6 +472,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/dedicatedserver.ovh.edixos.io_serverinstalltasks.yaml b/package/crds/dedicatedserver.ovh.edixos.io_serverinstalltasks.yaml index cd39e0b..2e13012 100644 --- a/package/crds/dedicatedserver.ovh.edixos.io_serverinstalltasks.yaml +++ b/package/crds/dedicatedserver.ovh.edixos.io_serverinstalltasks.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -80,22 +80,12 @@ spec: details: items: properties: - changeLog: - description: Template change log details - type: string customHostname: description: Set up the server using the provided hostname instead of the default hostname type: string diskGroupId: type: number - installRtm: - type: boolean - installSqlServer: - type: boolean - language: - description: language - type: string noRaid: type: boolean postInstallationScriptLink: @@ -109,20 +99,8 @@ spec: case of succes. A good example is ''loh1Xee7eo OK OK OK UGh8Ang1Gu''' type: string - resetHwRaid: - type: boolean softRaidDevices: type: number - sshKeyName: - description: Name of the ssh key that should be installed. - Password login will be disabled - type: string - useDistribKernel: - description: Use the distribution's native kernel instead - of the recommended OVH Kernel - type: boolean - useSpla: - type: boolean type: object type: array partitionSchemeName: @@ -134,6 +112,17 @@ spec: templateName: description: Template name type: string + userMetadata: + items: + properties: + key: + description: The key for the user_metadata + type: string + value: + description: The value for the user_metadata + type: string + type: object + type: array type: object initProvider: description: |- @@ -155,22 +144,12 @@ spec: details: items: properties: - changeLog: - description: Template change log details - type: string customHostname: description: Set up the server using the provided hostname instead of the default hostname type: string diskGroupId: type: number - installRtm: - type: boolean - installSqlServer: - type: boolean - language: - description: language - type: string noRaid: type: boolean postInstallationScriptLink: @@ -184,20 +163,8 @@ spec: case of succes. A good example is ''loh1Xee7eo OK OK OK UGh8Ang1Gu''' type: string - resetHwRaid: - type: boolean softRaidDevices: type: number - sshKeyName: - description: Name of the ssh key that should be installed. - Password login will be disabled - type: string - useDistribKernel: - description: Use the distribution's native kernel instead - of the recommended OVH Kernel - type: boolean - useSpla: - type: boolean type: object type: array partitionSchemeName: @@ -209,6 +176,17 @@ spec: templateName: description: Template name type: string + userMetadata: + items: + properties: + key: + description: The key for the user_metadata + type: string + value: + description: The value for the user_metadata + type: string + type: object + type: array type: object managementPolicies: default: @@ -401,22 +379,12 @@ spec: details: items: properties: - changeLog: - description: Template change log details - type: string customHostname: description: Set up the server using the provided hostname instead of the default hostname type: string diskGroupId: type: number - installRtm: - type: boolean - installSqlServer: - type: boolean - language: - description: language - type: string noRaid: type: boolean postInstallationScriptLink: @@ -430,20 +398,8 @@ spec: case of succes. A good example is ''loh1Xee7eo OK OK OK UGh8Ang1Gu''' type: string - resetHwRaid: - type: boolean softRaidDevices: type: number - sshKeyName: - description: Name of the ssh key that should be installed. - Password login will be disabled - type: string - useDistribKernel: - description: Use the distribution's native kernel instead - of the recommended OVH Kernel - type: boolean - useSpla: - type: boolean type: object type: array doneDate: @@ -472,6 +428,17 @@ spec: templateName: description: Template name type: string + userMetadata: + items: + properties: + key: + description: The key for the user_metadata + type: string + value: + description: The value for the user_metadata + type: string + type: object + type: array type: object conditions: description: Conditions of the resource. @@ -489,6 +456,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -512,6 +486,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/dedicatedserver.ovh.edixos.io_servernetworkings.yaml b/package/crds/dedicatedserver.ovh.edixos.io_servernetworkings.yaml index 55b2bb1..3efe0c2 100644 --- a/package/crds/dedicatedserver.ovh.edixos.io_servernetworkings.yaml +++ b/package/crds/dedicatedserver.ovh.edixos.io_servernetworkings.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -348,6 +348,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -371,6 +378,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/dedicatedserver.ovh.edixos.io_serverreboottasks.yaml b/package/crds/dedicatedserver.ovh.edixos.io_serverreboottasks.yaml index 84357f1..9c92f7c 100644 --- a/package/crds/dedicatedserver.ovh.edixos.io_serverreboottasks.yaml +++ b/package/crds/dedicatedserver.ovh.edixos.io_serverreboottasks.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -330,6 +330,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -353,6 +360,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/dedicatedserver.ovh.edixos.io_serverupdates.yaml b/package/crds/dedicatedserver.ovh.edixos.io_serverupdates.yaml index e604812..5d9aea4 100644 --- a/package/crds/dedicatedserver.ovh.edixos.io_serverupdates.yaml +++ b/package/crds/dedicatedserver.ovh.edixos.io_serverupdates.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -78,6 +78,9 @@ spec: bootScript: description: The boot script of your dedicated server. type: string + displayName: + description: Display name of the dedicated server + type: string monitoring: description: Icmp monitoring state type: boolean @@ -107,6 +110,9 @@ spec: bootScript: description: The boot script of your dedicated server. type: string + displayName: + description: Display name of the dedicated server + type: string monitoring: description: Icmp monitoring state type: boolean @@ -300,6 +306,9 @@ spec: bootScript: description: The boot script of your dedicated server. type: string + displayName: + description: Display name of the dedicated server + type: string id: type: string monitoring: @@ -328,6 +337,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -351,6 +367,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/dns.ovh.edixos.io_zonerecords.yaml b/package/crds/dns.ovh.edixos.io_zonerecords.yaml index 3949800..7b12c81 100644 --- a/package/crds/dns.ovh.edixos.io_zonerecords.yaml +++ b/package/crds/dns.ovh.edixos.io_zonerecords.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -34,8 +34,7 @@ spec: name: v1alpha1 schema: openAPIV3Schema: - description: 'ZoneRecord is the Schema for the ZoneRecords API. ovh_domain_zone_record.html.markdownsubcategory - : "Domain names"' + description: ZoneRecord is the Schema for the ZoneRecords API. properties: apiVersion: description: |- @@ -74,19 +73,14 @@ spec: forProvider: properties: fieldtype: - description: The type of the record type: string subdomain: - description: The name of the record. It can be an empty string. type: string target: - description: The value of the record type: string ttl: - description: The TTL of the record, it shall be >= to 60. type: number zone: - description: The domain to add the record to type: string type: object initProvider: @@ -103,19 +97,14 @@ spec: autoscaler. properties: fieldtype: - description: The type of the record type: string subdomain: - description: The name of the record. It can be an empty string. type: string target: - description: The value of the record type: string ttl: - description: The TTL of the record, it shall be >= to 60. type: number zone: - description: The domain to add the record to type: string type: object managementPolicies: @@ -304,22 +293,16 @@ spec: atProvider: properties: fieldtype: - description: The type of the record type: string id: - description: The record ID type: string subdomain: - description: The name of the record. It can be an empty string. type: string target: - description: The value of the record type: string ttl: - description: The TTL of the record, it shall be >= to 60. type: number zone: - description: The domain to add the record to type: string type: object conditions: @@ -338,6 +321,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -361,6 +351,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/dns.ovh.edixos.io_zoneredirections.yaml b/package/crds/dns.ovh.edixos.io_zoneredirections.yaml index 8480a9f..fb19da1 100644 --- a/package/crds/dns.ovh.edixos.io_zoneredirections.yaml +++ b/package/crds/dns.ovh.edixos.io_zoneredirections.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -34,8 +34,8 @@ spec: name: v1alpha1 schema: openAPIV3Schema: - description: 'ZoneRedirection is the Schema for the ZoneRedirections API. - ovh_domain_zone_redirection.html.markdownsubcategory : "Domain names"' + description: ZoneRedirection is the Schema for the ZoneRedirections API. properties: apiVersion: description: |- @@ -74,25 +74,18 @@ spec: forProvider: properties: description: - description: A description of this redirection type: string keywords: - description: Keywords to describe this redirection type: string subdomain: - description: The name of the redirection type: string target: - description: The value of the redirection type: string title: - description: Title of this redirection type: string type: - description: 'The type of the redirection, with values:' type: string zone: - description: The domain to add the redirection to type: string type: object initProvider: @@ -109,25 +102,18 @@ spec: autoscaler. properties: description: - description: A description of this redirection type: string keywords: - description: Keywords to describe this redirection type: string subdomain: - description: The name of the redirection type: string target: - description: The value of the redirection type: string title: - description: Title of this redirection type: string type: - description: 'The type of the redirection, with values:' type: string zone: - description: The domain to add the redirection to type: string type: object managementPolicies: @@ -316,28 +302,20 @@ spec: atProvider: properties: description: - description: A description of this redirection type: string id: - description: The redirection ID type: string keywords: - description: Keywords to describe this redirection type: string subdomain: - description: The name of the redirection type: string target: - description: The value of the redirection type: string title: - description: Title of this redirection type: string type: - description: 'The type of the redirection, with values:' type: string zone: - description: The domain to add the redirection to type: string type: object conditions: @@ -356,6 +334,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -379,6 +364,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/dns.ovh.edixos.io_zones.yaml b/package/crds/dns.ovh.edixos.io_zones.yaml index 87c8b56..e1539dc 100644 --- a/package/crds/dns.ovh.edixos.io_zones.yaml +++ b/package/crds/dns.ovh.edixos.io_zones.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -34,8 +34,7 @@ spec: name: v1alpha1 schema: openAPIV3Schema: - description: 'Zone is the Schema for the Zones API. ovh_domain_zone.html.markdownsubcategory - : "Domain names"' + description: Zone is the Schema for the Zones API. properties: apiVersion: description: |- @@ -73,103 +72,76 @@ spec: type: string forProvider: properties: + order: + description: Details about an Order + items: + type: object + type: array ovhSubsidiary: - description: |- - OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at /1.0/me.json under - Ovh Subsidiary + description: Ovh Subsidiary type: string paymentMean: description: Ovh payment mode type: string plan: - description: |- - Product Plan to order - Product Plan to order + description: Product Plan to order items: properties: catalogName: - description: |- - Catalog name - Catalog name + description: Catalog name type: string configuration: - description: |- - Representation of a configuration item for personalizing product. 2 configurations are required : one for zone and one for template - Representation of a configuration item for personalizing product + description: Representation of a configuration item for + personalizing product items: properties: label: - description: |- - Identifier of the resource : zone or template - Identifier of the resource + description: Identifier of the resource type: string value: - description: |- - For zone, the value is the zone name myzone.example.com. For template, the value can be basic, minimized or redirect which is the same as minimized with additional entries for a redirect configuration. - Path to the resource in API.OVH.COM + description: Path to the resource in API.OVH.COM type: string type: object type: array duration: - description: |- - duration - duration + description: duration type: string planCode: - description: |- - Plan code - Plan code + description: Plan code type: string pricingMode: - description: |- - Pricing model identifier - Pricing model identifier + description: Pricing model identifier type: string type: object type: array planOption: - description: |- - Product Plan to order - Product Plan to order + description: Product Plan to order items: properties: catalogName: - description: |- - Catalog name - Catalog name + description: Catalog name type: string configuration: - description: |- - Representation of a configuration item for personalizing product. 2 configurations are required : one for zone and one for template - Representation of a configuration item for personalizing product + description: Representation of a configuration item for + personalizing product items: properties: label: - description: |- - Identifier of the resource : zone or template - Identifier of the resource + description: Identifier of the resource type: string value: - description: |- - For zone, the value is the zone name myzone.example.com. For template, the value can be basic, minimized or redirect which is the same as minimized with additional entries for a redirect configuration. - Path to the resource in API.OVH.COM + description: Path to the resource in API.OVH.COM type: string type: object type: array duration: - description: |- - duration - duration + description: duration type: string planCode: - description: |- - Plan code - Plan code + description: Plan code type: string pricingMode: - description: |- - Pricing model identifier - Pricing model identifier + description: Pricing model identifier type: string type: object type: array @@ -187,103 +159,76 @@ spec: for example because of an external controller is managing them, like an autoscaler. properties: + order: + description: Details about an Order + items: + type: object + type: array ovhSubsidiary: - description: |- - OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at /1.0/me.json under - Ovh Subsidiary + description: Ovh Subsidiary type: string paymentMean: description: Ovh payment mode type: string plan: - description: |- - Product Plan to order - Product Plan to order + description: Product Plan to order items: properties: catalogName: - description: |- - Catalog name - Catalog name + description: Catalog name type: string configuration: - description: |- - Representation of a configuration item for personalizing product. 2 configurations are required : one for zone and one for template - Representation of a configuration item for personalizing product + description: Representation of a configuration item for + personalizing product items: properties: label: - description: |- - Identifier of the resource : zone or template - Identifier of the resource + description: Identifier of the resource type: string value: - description: |- - For zone, the value is the zone name myzone.example.com. For template, the value can be basic, minimized or redirect which is the same as minimized with additional entries for a redirect configuration. - Path to the resource in API.OVH.COM + description: Path to the resource in API.OVH.COM type: string type: object type: array duration: - description: |- - duration - duration + description: duration type: string planCode: - description: |- - Plan code - Plan code + description: Plan code type: string pricingMode: - description: |- - Pricing model identifier - Pricing model identifier + description: Pricing model identifier type: string type: object type: array planOption: - description: |- - Product Plan to order - Product Plan to order + description: Product Plan to order items: properties: catalogName: - description: |- - Catalog name - Catalog name + description: Catalog name type: string configuration: - description: |- - Representation of a configuration item for personalizing product. 2 configurations are required : one for zone and one for template - Representation of a configuration item for personalizing product + description: Representation of a configuration item for + personalizing product items: properties: label: - description: |- - Identifier of the resource : zone or template - Identifier of the resource + description: Identifier of the resource type: string value: - description: |- - For zone, the value is the zone name myzone.example.com. For template, the value can be basic, minimized or redirect which is the same as minimized with additional entries for a redirect configuration. - Path to the resource in API.OVH.COM + description: Path to the resource in API.OVH.COM type: string type: object type: array duration: - description: |- - duration - duration + description: duration type: string planCode: - description: |- - Plan code - Plan code + description: Plan code type: string pricingMode: - description: |- - Pricing model identifier - Pricing model identifier + description: Pricing model identifier type: string type: object type: array @@ -470,38 +415,26 @@ spec: atProvider: properties: dnssecSupported: - description: |- - Is DNSSEC supported by this zone - Is DNSSEC supported by this zone + description: Is DNSSEC supported by this zone type: boolean hasDnsAnycast: - description: |- - hasDnsAnycast flag of the DNS zone - hasDnsAnycast flag of the DNS zone + description: hasDnsAnycast flag of the DNS zone type: boolean id: type: string lastUpdate: - description: |- - Last update date of the DNS zone - Last update date of the DNS zone + description: Last update date of the DNS zone type: string name: - description: |- - Zone name - Zone name + description: Zone name type: string nameServers: - description: |- - Name servers that host the DNS zone - Name servers that host the DNS zone + description: Name servers that host the DNS zone items: type: string type: array order: - description: |- - Details about an Order - Details about an Order + description: Details about an Order items: properties: date: @@ -512,16 +445,12 @@ spec: items: properties: description: - description: description type: string domain: - description: expiration date type: string orderDetailId: - description: order detail id type: number quantity: - description: quantity type: string type: object type: array @@ -534,102 +463,70 @@ spec: type: object type: array ovhSubsidiary: - description: |- - OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at /1.0/me.json under - Ovh Subsidiary + description: Ovh Subsidiary type: string paymentMean: description: Ovh payment mode type: string plan: - description: |- - Product Plan to order - Product Plan to order + description: Product Plan to order items: properties: catalogName: - description: |- - Catalog name - Catalog name + description: Catalog name type: string configuration: - description: |- - Representation of a configuration item for personalizing product. 2 configurations are required : one for zone and one for template - Representation of a configuration item for personalizing product + description: Representation of a configuration item for + personalizing product items: properties: label: - description: |- - Identifier of the resource : zone or template - Identifier of the resource + description: Identifier of the resource type: string value: - description: |- - For zone, the value is the zone name myzone.example.com. For template, the value can be basic, minimized or redirect which is the same as minimized with additional entries for a redirect configuration. - Path to the resource in API.OVH.COM + description: Path to the resource in API.OVH.COM type: string type: object type: array duration: - description: |- - duration - duration + description: duration type: string planCode: - description: |- - Plan code - Plan code + description: Plan code type: string pricingMode: - description: |- - Pricing model identifier - Pricing model identifier + description: Pricing model identifier type: string type: object type: array planOption: - description: |- - Product Plan to order - Product Plan to order + description: Product Plan to order items: properties: catalogName: - description: |- - Catalog name - Catalog name + description: Catalog name type: string configuration: - description: |- - Representation of a configuration item for personalizing product. 2 configurations are required : one for zone and one for template - Representation of a configuration item for personalizing product + description: Representation of a configuration item for + personalizing product items: properties: label: - description: |- - Identifier of the resource : zone or template - Identifier of the resource + description: Identifier of the resource type: string value: - description: |- - For zone, the value is the zone name myzone.example.com. For template, the value can be basic, minimized or redirect which is the same as minimized with additional entries for a redirect configuration. - Path to the resource in API.OVH.COM + description: Path to the resource in API.OVH.COM type: string type: object type: array duration: - description: |- - duration - duration + description: duration type: string planCode: - description: |- - Plan code - Plan code + description: Plan code type: string pricingMode: - description: |- - Pricing model identifier - Pricing model identifier + description: Pricing model identifier type: string type: object type: array @@ -652,6 +549,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -675,6 +579,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/gateway.ovh.edixos.io_projectgateways.yaml b/package/crds/gateway.ovh.edixos.io_projectgateways.yaml index 74aba8c..9a8e41d 100644 --- a/package/crds/gateway.ovh.edixos.io_projectgateways.yaml +++ b/package/crds/gateway.ovh.edixos.io_projectgateways.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -605,8 +605,39 @@ spec: properties: atProvider: properties: + externalInformation: + description: External information of the gateway + items: + properties: + ips: + items: + properties: + ip: + type: string + subnetId: + type: string + type: object + type: array + networkId: + type: string + type: object + type: array id: type: string + interfaces: + description: Interfaces list of the gateway + items: + properties: + id: + type: string + ip: + type: string + networkId: + type: string + subnetId: + type: string + type: object + type: array model: type: string name: @@ -640,6 +671,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -663,6 +701,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/iam.ovh.edixos.io_iampermissionsgroups.yaml b/package/crds/iam.ovh.edixos.io_iampermissionsgroups.yaml index 7d60f0e..f9d343e 100644 --- a/package/crds/iam.ovh.edixos.io_iampermissionsgroups.yaml +++ b/package/crds/iam.ovh.edixos.io_iampermissionsgroups.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -357,6 +357,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -380,6 +387,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/iam.ovh.edixos.io_iampolicies.yaml b/package/crds/iam.ovh.edixos.io_iampolicies.yaml index 16448b0..2605f91 100644 --- a/package/crds/iam.ovh.edixos.io_iampolicies.yaml +++ b/package/crds/iam.ovh.edixos.io_iampolicies.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -401,6 +401,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -424,6 +431,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/iam.ovh.edixos.io_iamresourcegroups.yaml b/package/crds/iam.ovh.edixos.io_iamresourcegroups.yaml index 5ea200f..ff9227b 100644 --- a/package/crds/iam.ovh.edixos.io_iamresourcegroups.yaml +++ b/package/crds/iam.ovh.edixos.io_iamresourcegroups.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -315,6 +315,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -338,6 +345,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/kube.ovh.edixos.io_clusters.yaml b/package/crds/kube.ovh.edixos.io_clusters.yaml index 0d3ac05..b1062c3 100644 --- a/package/crds/kube.ovh.edixos.io_clusters.yaml +++ b/package/crds/kube.ovh.edixos.io_clusters.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -146,8 +146,12 @@ spec: type: array kubeProxyMode: type: string + loadBalancersSubnetId: + type: string name: type: string + nodesSubnetId: + type: string privateNetworkConfiguration: items: properties: @@ -337,8 +341,12 @@ spec: type: array kubeProxyMode: type: string + loadBalancersSubnetId: + type: string name: type: string + nodesSubnetId: + type: string privateNetworkConfiguration: items: properties: @@ -702,6 +710,8 @@ spec: type: boolean kubeProxyMode: type: string + loadBalancersSubnetId: + type: string name: type: string nextUpgradeVersions: @@ -709,6 +719,8 @@ spec: type: string type: array x-kubernetes-list-type: set + nodesSubnetId: + type: string nodesUrl: type: string privateNetworkConfiguration: @@ -757,6 +769,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -780,6 +799,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/kube.ovh.edixos.io_iprestrictions.yaml b/package/crds/kube.ovh.edixos.io_iprestrictions.yaml index 2d5e3ff..5f8db53 100644 --- a/package/crds/kube.ovh.edixos.io_iprestrictions.yaml +++ b/package/crds/kube.ovh.edixos.io_iprestrictions.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -471,6 +471,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -494,6 +501,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/kube.ovh.edixos.io_nodepools.yaml b/package/crds/kube.ovh.edixos.io_nodepools.yaml index 3502b9f..6b20585 100644 --- a/package/crds/kube.ovh.edixos.io_nodepools.yaml +++ b/package/crds/kube.ovh.edixos.io_nodepools.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -716,6 +716,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -739,6 +746,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/kube.ovh.edixos.io_oidcconfigurations.yaml b/package/crds/kube.ovh.edixos.io_oidcconfigurations.yaml index abce33a..9e0b6ee 100644 --- a/package/crds/kube.ovh.edixos.io_oidcconfigurations.yaml +++ b/package/crds/kube.ovh.edixos.io_oidcconfigurations.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -524,6 +524,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -547,6 +554,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/lb.ovh.edixos.io_httpfarms.yaml b/package/crds/lb.ovh.edixos.io_httpfarms.yaml index 413a6c9..a9763f8 100644 --- a/package/crds/lb.ovh.edixos.io_httpfarms.yaml +++ b/package/crds/lb.ovh.edixos.io_httpfarms.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -398,6 +398,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -421,6 +428,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/lb.ovh.edixos.io_httpfarmservers.yaml b/package/crds/lb.ovh.edixos.io_httpfarmservers.yaml index 5c6a1e8..a6bce68 100644 --- a/package/crds/lb.ovh.edixos.io_httpfarmservers.yaml +++ b/package/crds/lb.ovh.edixos.io_httpfarmservers.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -376,6 +376,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -399,6 +406,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/lb.ovh.edixos.io_httpfrontends.yaml b/package/crds/lb.ovh.edixos.io_httpfrontends.yaml index be49479..86b83f7 100644 --- a/package/crds/lb.ovh.edixos.io_httpfrontends.yaml +++ b/package/crds/lb.ovh.edixos.io_httpfrontends.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -76,6 +76,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: set dedicatedIpfo: items: type: string @@ -123,6 +124,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: set dedicatedIpfo: items: type: string @@ -342,6 +344,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: set dedicatedIpfo: items: type: string @@ -390,6 +393,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -413,6 +423,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/lb.ovh.edixos.io_httprouterules.yaml b/package/crds/lb.ovh.edixos.io_httprouterules.yaml index 93c4d5d..391f861 100644 --- a/package/crds/lb.ovh.edixos.io_httprouterules.yaml +++ b/package/crds/lb.ovh.edixos.io_httprouterules.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -343,6 +343,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -366,6 +373,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/lb.ovh.edixos.io_httproutes.yaml b/package/crds/lb.ovh.edixos.io_httproutes.yaml index c1ac2cf..22f3dc3 100644 --- a/package/crds/lb.ovh.edixos.io_httproutes.yaml +++ b/package/crds/lb.ovh.edixos.io_httproutes.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -410,6 +410,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -433,6 +440,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/lb.ovh.edixos.io_iploadbalancings.yaml b/package/crds/lb.ovh.edixos.io_iploadbalancings.yaml index 239771b..5593280 100644 --- a/package/crds/lb.ovh.edixos.io_iploadbalancings.yaml +++ b/package/crds/lb.ovh.edixos.io_iploadbalancings.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -77,6 +77,11 @@ spec: description: Set the name displayed in ManagerV6 for your iplb (max 50 chars) type: string + order: + description: Details about an Order + items: + type: object + type: array ovhSubsidiary: description: Ovh Subsidiary type: string @@ -170,6 +175,11 @@ spec: description: Set the name displayed in ManagerV6 for your iplb (max 50 chars) type: string + order: + description: Details about an Order + items: + type: object + type: array ovhSubsidiary: description: Ovh Subsidiary type: string @@ -450,8 +460,10 @@ spec: items: properties: date: + description: date type: string details: + description: Information about a Bill entry items: properties: description: @@ -465,8 +477,10 @@ spec: type: object type: array expirationDate: + description: expiration date type: string orderId: + description: order id type: number type: object type: array @@ -592,6 +606,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -615,6 +636,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/lb.ovh.edixos.io_refreshes.yaml b/package/crds/lb.ovh.edixos.io_refreshes.yaml index be828d4..e6f0749 100644 --- a/package/crds/lb.ovh.edixos.io_refreshes.yaml +++ b/package/crds/lb.ovh.edixos.io_refreshes.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -305,6 +305,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -328,6 +335,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/lb.ovh.edixos.io_tcpfarms.yaml b/package/crds/lb.ovh.edixos.io_tcpfarms.yaml index a4e9f45..0ad27f2 100644 --- a/package/crds/lb.ovh.edixos.io_tcpfarms.yaml +++ b/package/crds/lb.ovh.edixos.io_tcpfarms.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -398,6 +398,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -421,6 +428,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/lb.ovh.edixos.io_tcpfarmservers.yaml b/package/crds/lb.ovh.edixos.io_tcpfarmservers.yaml index 9b867bf..c8cc24c 100644 --- a/package/crds/lb.ovh.edixos.io_tcpfarmservers.yaml +++ b/package/crds/lb.ovh.edixos.io_tcpfarmservers.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -373,6 +373,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -396,6 +403,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/lb.ovh.edixos.io_tcpfrontends.yaml b/package/crds/lb.ovh.edixos.io_tcpfrontends.yaml index 929200f..b507b03 100644 --- a/package/crds/lb.ovh.edixos.io_tcpfrontends.yaml +++ b/package/crds/lb.ovh.edixos.io_tcpfrontends.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -76,14 +76,21 @@ spec: items: type: string type: array + x-kubernetes-list-type: set dedicatedIpfo: items: type: string type: array + x-kubernetes-list-type: set defaultFarmId: type: number defaultSslId: type: number + deniedSource: + items: + type: string + type: array + x-kubernetes-list-type: set disabled: type: boolean displayName: @@ -114,14 +121,21 @@ spec: items: type: string type: array + x-kubernetes-list-type: set dedicatedIpfo: items: type: string type: array + x-kubernetes-list-type: set defaultFarmId: type: number defaultSslId: type: number + deniedSource: + items: + type: string + type: array + x-kubernetes-list-type: set disabled: type: boolean displayName: @@ -324,14 +338,21 @@ spec: items: type: string type: array + x-kubernetes-list-type: set dedicatedIpfo: items: type: string type: array + x-kubernetes-list-type: set defaultFarmId: type: number defaultSslId: type: number + deniedSource: + items: + type: string + type: array + x-kubernetes-list-type: set disabled: type: boolean displayName: @@ -363,6 +384,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -386,6 +414,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/lb.ovh.edixos.io_tcprouterules.yaml b/package/crds/lb.ovh.edixos.io_tcprouterules.yaml index 1f2fc70..82b6c27 100644 --- a/package/crds/lb.ovh.edixos.io_tcprouterules.yaml +++ b/package/crds/lb.ovh.edixos.io_tcprouterules.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -343,6 +343,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -366,6 +373,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/lb.ovh.edixos.io_tcproutes.yaml b/package/crds/lb.ovh.edixos.io_tcproutes.yaml index 6ebf73d..e5f2a09 100644 --- a/package/crds/lb.ovh.edixos.io_tcproutes.yaml +++ b/package/crds/lb.ovh.edixos.io_tcproutes.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -392,6 +392,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -415,6 +422,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/lb.ovh.edixos.io_vracknetworks.yaml b/package/crds/lb.ovh.edixos.io_vracknetworks.yaml index 4a07797..35c171e 100644 --- a/package/crds/lb.ovh.edixos.io_vracknetworks.yaml +++ b/package/crds/lb.ovh.edixos.io_vracknetworks.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -370,6 +370,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -393,6 +400,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/logs.ovh.edixos.io_logsclusters.yaml b/package/crds/logs.ovh.edixos.io_logsclusters.yaml index b0d9fa5..819cc1a 100644 --- a/package/crds/logs.ovh.edixos.io_logsclusters.yaml +++ b/package/crds/logs.ovh.edixos.io_logsclusters.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -366,6 +366,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -389,6 +396,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/logs.ovh.edixos.io_logsinputs.yaml b/package/crds/logs.ovh.edixos.io_logsinputs.yaml index dee59fe..c65779a 100644 --- a/package/crds/logs.ovh.edixos.io_logsinputs.yaml +++ b/package/crds/logs.ovh.edixos.io_logsinputs.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -499,6 +499,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -522,6 +529,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/me.ovh.edixos.io_groups.yaml b/package/crds/me.ovh.edixos.io_groups.yaml index eb8ba0b..cdd97e6 100644 --- a/package/crds/me.ovh.edixos.io_groups.yaml +++ b/package/crds/me.ovh.edixos.io_groups.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -309,6 +309,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -332,6 +339,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/me.ovh.edixos.io_oauth2clients.yaml b/package/crds/me.ovh.edixos.io_oauth2clients.yaml index 3483915..43bedcc 100644 --- a/package/crds/me.ovh.edixos.io_oauth2clients.yaml +++ b/package/crds/me.ovh.edixos.io_oauth2clients.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -344,6 +344,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -367,6 +374,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/me.ovh.edixos.io_sshkeys.yaml b/package/crds/me.ovh.edixos.io_sshkeys.yaml deleted file mode 100644 index 9a94fdb..0000000 --- a/package/crds/me.ovh.edixos.io_sshkeys.yaml +++ /dev/null @@ -1,350 +0,0 @@ ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.14.0 - name: sshkeys.me.ovh.edixos.io -spec: - group: me.ovh.edixos.io - names: - categories: - - crossplane - - managed - - ovh - kind: SSHKey - listKind: SSHKeyList - plural: sshkeys - singular: sshkey - scope: Cluster - versions: - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - - jsonPath: .status.conditions[?(@.type=='Synced')].status - name: SYNCED - type: string - - jsonPath: .metadata.annotations.crossplane\.io/external-name - name: EXTERNAL-NAME - type: string - - jsonPath: .metadata.creationTimestamp - name: AGE - type: date - name: v1alpha1 - schema: - openAPIV3Schema: - description: SSHKey is the Schema for the SSHKeys API. - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: SSHKeySpec defines the desired state of SSHKey - properties: - deletionPolicy: - default: Delete - description: |- - DeletionPolicy specifies what will happen to the underlying external - when this managed resource is deleted - either "Delete" or "Orphan" the - external resource. - This field is planned to be deprecated in favor of the ManagementPolicies - field in a future release. Currently, both could be set independently and - non-default values would be honored if the feature flag is enabled. - See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223 - enum: - - Orphan - - Delete - type: string - forProvider: - properties: - default: - description: True when this public Ssh key is used for rescue - mode and reinstallations - type: boolean - key: - description: ASCII encoded public Ssh key - type: string - keyName: - description: Name of this public Ssh key - type: string - type: object - initProvider: - description: |- - THIS IS A BETA FIELD. It will be honored - unless the Management Policies feature flag is disabled. - InitProvider holds the same fields as ForProvider, with the exception - of Identifier and other resource reference fields. The fields that are - in InitProvider are merged into ForProvider when the resource is created. - The same fields are also added to the terraform ignore_changes hook, to - avoid updating them after creation. This is useful for fields that are - required on creation, but we do not desire to update them after creation, - for example because of an external controller is managing them, like an - autoscaler. - properties: - default: - description: True when this public Ssh key is used for rescue - mode and reinstallations - type: boolean - key: - description: ASCII encoded public Ssh key - type: string - keyName: - description: Name of this public Ssh key - type: string - type: object - managementPolicies: - default: - - '*' - description: |- - THIS IS A BETA FIELD. It is on by default but can be opted out - through a Crossplane feature flag. - ManagementPolicies specify the array of actions Crossplane is allowed to - take on the managed and external resources. - This field is planned to replace the DeletionPolicy field in a future - release. Currently, both could be set independently and non-default - values would be honored if the feature flag is enabled. If both are - custom, the DeletionPolicy field will be ignored. - See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223 - and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md - items: - description: |- - A ManagementAction represents an action that the Crossplane controllers - can take on an external resource. - enum: - - Observe - - Create - - Update - - Delete - - LateInitialize - - '*' - type: string - type: array - providerConfigRef: - default: - name: default - description: |- - ProviderConfigReference specifies how the provider that will be used to - create, observe, update, and delete this managed resource should be - configured. - properties: - name: - description: Name of the referenced object. - type: string - policy: - description: Policies for referencing. - properties: - resolution: - default: Required - description: |- - Resolution specifies whether resolution of this reference is required. - The default is 'Required', which means the reconcile will fail if the - reference cannot be resolved. 'Optional' means this reference will be - a no-op if it cannot be resolved. - enum: - - Required - - Optional - type: string - resolve: - description: |- - Resolve specifies when this reference should be resolved. The default - is 'IfNotPresent', which will attempt to resolve the reference only when - the corresponding field is not present. Use 'Always' to resolve the - reference on every reconcile. - enum: - - Always - - IfNotPresent - type: string - type: object - required: - - name - type: object - publishConnectionDetailsTo: - description: |- - PublishConnectionDetailsTo specifies the connection secret config which - contains a name, metadata and a reference to secret store config to - which any connection details for this managed resource should be written. - Connection details frequently include the endpoint, username, - and password required to connect to the managed resource. - properties: - configRef: - default: - name: default - description: |- - SecretStoreConfigRef specifies which secret store config should be used - for this ConnectionSecret. - properties: - name: - description: Name of the referenced object. - type: string - policy: - description: Policies for referencing. - properties: - resolution: - default: Required - description: |- - Resolution specifies whether resolution of this reference is required. - The default is 'Required', which means the reconcile will fail if the - reference cannot be resolved. 'Optional' means this reference will be - a no-op if it cannot be resolved. - enum: - - Required - - Optional - type: string - resolve: - description: |- - Resolve specifies when this reference should be resolved. The default - is 'IfNotPresent', which will attempt to resolve the reference only when - the corresponding field is not present. Use 'Always' to resolve the - reference on every reconcile. - enum: - - Always - - IfNotPresent - type: string - type: object - required: - - name - type: object - metadata: - description: Metadata is the metadata for connection secret. - properties: - annotations: - additionalProperties: - type: string - description: |- - Annotations are the annotations to be added to connection secret. - - For Kubernetes secrets, this will be used as "metadata.annotations". - - It is up to Secret Store implementation for others store types. - type: object - labels: - additionalProperties: - type: string - description: |- - Labels are the labels/tags to be added to connection secret. - - For Kubernetes secrets, this will be used as "metadata.labels". - - It is up to Secret Store implementation for others store types. - type: object - type: - description: |- - Type is the SecretType for the connection secret. - - Only valid for Kubernetes Secret Stores. - type: string - type: object - name: - description: Name is the name of the connection secret. - type: string - required: - - name - type: object - writeConnectionSecretToRef: - description: |- - WriteConnectionSecretToReference specifies the namespace and name of a - Secret to which any connection details for this managed resource should - be written. Connection details frequently include the endpoint, username, - and password required to connect to the managed resource. - This field is planned to be replaced in a future release in favor of - PublishConnectionDetailsTo. Currently, both could be set independently - and connection details would be published to both without affecting - each other. - properties: - name: - description: Name of the secret. - type: string - namespace: - description: Namespace of the secret. - type: string - required: - - name - - namespace - type: object - required: - - forProvider - type: object - x-kubernetes-validations: - - message: spec.forProvider.key is a required parameter - rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies - || ''Update'' in self.managementPolicies) || has(self.forProvider.key) - || (has(self.initProvider) && has(self.initProvider.key))' - - message: spec.forProvider.keyName is a required parameter - rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies - || ''Update'' in self.managementPolicies) || has(self.forProvider.keyName) - || (has(self.initProvider) && has(self.initProvider.keyName))' - status: - description: SSHKeyStatus defines the observed state of SSHKey. - properties: - atProvider: - properties: - default: - description: True when this public Ssh key is used for rescue - mode and reinstallations - type: boolean - id: - type: string - key: - description: ASCII encoded public Ssh key - type: string - keyName: - description: Name of this public Ssh key - type: string - type: object - conditions: - description: Conditions of the resource. - items: - description: A Condition that may apply to a resource. - properties: - lastTransitionTime: - description: |- - LastTransitionTime is the last time this condition transitioned from one - status to another. - format: date-time - type: string - message: - description: |- - A Message containing details about this condition's last transition from - one status to another, if any. - type: string - reason: - description: A Reason for this condition's last transition from - one status to another. - type: string - status: - description: Status of this condition; is it currently True, - False, or Unknown? - type: string - type: - description: |- - Type of this condition. At most one of each condition type may apply to - a resource at any point in time. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - x-kubernetes-list-map-keys: - - type - x-kubernetes-list-type: map - type: object - required: - - spec - type: object - served: true - storage: true - subresources: - status: {} diff --git a/package/crds/me.ovh.edixos.io_users.yaml b/package/crds/me.ovh.edixos.io_users.yaml index 7ae6438..f35e484 100644 --- a/package/crds/me.ovh.edixos.io_users.yaml +++ b/package/crds/me.ovh.edixos.io_users.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -275,6 +275,25 @@ spec: login: description: User's login suffix type: string + passwordSecretRef: + description: User's password + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + required: + - passwordSecretRef type: object managementPolicies: default: @@ -505,6 +524,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -528,6 +554,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/nas.ovh.edixos.io_nashapartitionaccesses.yaml b/package/crds/nas.ovh.edixos.io_nashapartitionaccesses.yaml index 96644d7..992ef23 100644 --- a/package/crds/nas.ovh.edixos.io_nashapartitionaccesses.yaml +++ b/package/crds/nas.ovh.edixos.io_nashapartitionaccesses.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -73,6 +73,9 @@ spec: type: string forProvider: properties: + aclDescription: + description: A brief description of the ACL + type: string ip: type: string partitionName: @@ -95,6 +98,9 @@ spec: for example because of an external controller is managing them, like an autoscaler. properties: + aclDescription: + description: A brief description of the ACL + type: string ip: type: string partitionName: @@ -290,6 +296,9 @@ spec: properties: atProvider: properties: + aclDescription: + description: A brief description of the ACL + type: string id: type: string ip: @@ -317,6 +326,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -340,6 +356,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/nas.ovh.edixos.io_nashapartitions.yaml b/package/crds/nas.ovh.edixos.io_nashapartitions.yaml index 82faf77..f67e9a8 100644 --- a/package/crds/nas.ovh.edixos.io_nashapartitions.yaml +++ b/package/crds/nas.ovh.edixos.io_nashapartitions.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -330,6 +330,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -353,6 +360,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/nas.ovh.edixos.io_nashapartitionsnapshots.yaml b/package/crds/nas.ovh.edixos.io_nashapartitionsnapshots.yaml index bfee327..4522c16 100644 --- a/package/crds/nas.ovh.edixos.io_nashapartitionsnapshots.yaml +++ b/package/crds/nas.ovh.edixos.io_nashapartitionsnapshots.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -311,6 +311,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -334,6 +341,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/network.ovh.edixos.io_privatenetworks.yaml b/package/crds/network.ovh.edixos.io_privatenetworks.yaml index 394f2e3..b6ab487 100644 --- a/package/crds/network.ovh.edixos.io_privatenetworks.yaml +++ b/package/crds/network.ovh.edixos.io_privatenetworks.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -351,6 +351,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -374,6 +381,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/network.ovh.edixos.io_subnets.yaml b/package/crds/network.ovh.edixos.io_subnets.yaml index bfc32a5..07e1381 100644 --- a/package/crds/network.ovh.edixos.io_subnets.yaml +++ b/package/crds/network.ovh.edixos.io_subnets.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -524,6 +524,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -547,6 +554,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/ovh.edixos.io_providerconfigs.yaml b/package/crds/ovh.edixos.io_providerconfigs.yaml index 00f5ed9..6d5d5f4 100644 --- a/package/crds/ovh.edixos.io_providerconfigs.yaml +++ b/package/crds/ovh.edixos.io_providerconfigs.yaml @@ -129,6 +129,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. diff --git a/package/crds/ovh.edixos.io_storeconfigs.yaml b/package/crds/ovh.edixos.io_storeconfigs.yaml index f99210f..fbe7c8a 100644 --- a/package/crds/ovh.edixos.io_storeconfigs.yaml +++ b/package/crds/ovh.edixos.io_storeconfigs.yaml @@ -183,6 +183,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. diff --git a/package/crds/privatesql.ovh.edixos.io_privatedatabasedatabases.yaml b/package/crds/privatesql.ovh.edixos.io_privatedatabasedatabases.yaml index 82e107a..ed2ea06 100644 --- a/package/crds/privatesql.ovh.edixos.io_privatedatabasedatabases.yaml +++ b/package/crds/privatesql.ovh.edixos.io_privatedatabasedatabases.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -308,6 +308,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -331,6 +338,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/privatesql.ovh.edixos.io_privatedatabases.yaml b/package/crds/privatesql.ovh.edixos.io_privatedatabases.yaml index 3dcf57d..2e391eb 100644 --- a/package/crds/privatesql.ovh.edixos.io_privatedatabases.yaml +++ b/package/crds/privatesql.ovh.edixos.io_privatedatabases.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -77,6 +77,11 @@ spec: description: Name displayed in customer panel for your private database type: string + order: + description: Details about an Order + items: + type: object + type: array ovhSubsidiary: description: Ovh Subsidiary type: string @@ -165,6 +170,11 @@ spec: description: Name displayed in customer panel for your private database type: string + order: + description: Details about an Order + items: + type: object + type: array ovhSubsidiary: description: Ovh Subsidiary type: string @@ -446,8 +456,10 @@ spec: items: properties: date: + description: date type: string details: + description: Information about a Bill entry items: properties: description: @@ -461,8 +473,10 @@ spec: type: object type: array expirationDate: + description: expiration date type: string orderId: + description: order id type: number type: object type: array @@ -588,6 +602,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -611,6 +632,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/privatesql.ovh.edixos.io_privatedatabaseusergrants.yaml b/package/crds/privatesql.ovh.edixos.io_privatedatabaseusergrants.yaml index d97c847..f5e033f 100644 --- a/package/crds/privatesql.ovh.edixos.io_privatedatabaseusergrants.yaml +++ b/package/crds/privatesql.ovh.edixos.io_privatedatabaseusergrants.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -334,6 +334,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -357,6 +364,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/privatesql.ovh.edixos.io_privatedatabaseusers.yaml b/package/crds/privatesql.ovh.edixos.io_privatedatabaseusers.yaml index b0276c9..1c1e9e2 100644 --- a/package/crds/privatesql.ovh.edixos.io_privatedatabaseusers.yaml +++ b/package/crds/privatesql.ovh.edixos.io_privatedatabaseusers.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -111,12 +111,32 @@ spec: for example because of an external controller is managing them, like an autoscaler. properties: + passwordSecretRef: + description: Password for the new user ( alphanumeric and 8 characters + minimum ) + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object serviceName: description: The internal name of your private database type: string userName: description: User name used to connect on your databases type: string + required: + - passwordSecretRef type: object managementPolicies: default: @@ -327,6 +347,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -350,6 +377,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/privatesql.ovh.edixos.io_privatedatabasewhitelists.yaml b/package/crds/privatesql.ovh.edixos.io_privatedatabasewhitelists.yaml index 867a029..db17216 100644 --- a/package/crds/privatesql.ovh.edixos.io_privatedatabasewhitelists.yaml +++ b/package/crds/privatesql.ovh.edixos.io_privatedatabasewhitelists.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -347,6 +347,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -370,6 +377,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/registry.ovh.edixos.io_containerregistries.yaml b/package/crds/registry.ovh.edixos.io_containerregistries.yaml index 886c4d1..929d2bc 100644 --- a/package/crds/registry.ovh.edixos.io_containerregistries.yaml +++ b/package/crds/registry.ovh.edixos.io_containerregistries.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -378,6 +378,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -401,6 +408,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/registry.ovh.edixos.io_containerregistryiprestrictionsmanagements.yaml b/package/crds/registry.ovh.edixos.io_containerregistryiprestrictionsmanagements.yaml index 4394678..ad6a068 100644 --- a/package/crds/registry.ovh.edixos.io_containerregistryiprestrictionsmanagements.yaml +++ b/package/crds/registry.ovh.edixos.io_containerregistryiprestrictionsmanagements.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -484,6 +484,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -507,6 +514,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/registry.ovh.edixos.io_containerregistryiprestrictionsregistries.yaml b/package/crds/registry.ovh.edixos.io_containerregistryiprestrictionsregistries.yaml index 1dc7cef..a00de45 100644 --- a/package/crds/registry.ovh.edixos.io_containerregistryiprestrictionsregistries.yaml +++ b/package/crds/registry.ovh.edixos.io_containerregistryiprestrictionsregistries.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -484,6 +484,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -507,6 +514,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/registry.ovh.edixos.io_containerregistryoidcs.yaml b/package/crds/registry.ovh.edixos.io_containerregistryoidcs.yaml index 5a2ee00..bd427a4 100644 --- a/package/crds/registry.ovh.edixos.io_containerregistryoidcs.yaml +++ b/package/crds/registry.ovh.edixos.io_containerregistryoidcs.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -213,6 +213,24 @@ spec: type: boolean oidcClientId: type: string + oidcClientSecretSecretRef: + description: A SecretKeySelector is a reference to a secret key + in an arbitrary namespace. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object oidcEndpoint: type: string oidcGroupsClaim: @@ -305,6 +323,8 @@ spec: type: object serviceName: type: string + required: + - oidcClientSecretSecretRef type: object managementPolicies: default: @@ -546,6 +566,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -569,6 +596,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/registry.ovh.edixos.io_containerregistryusers.yaml b/package/crds/registry.ovh.edixos.io_containerregistryusers.yaml index b1e0009..f26f758 100644 --- a/package/crds/registry.ovh.edixos.io_containerregistryusers.yaml +++ b/package/crds/registry.ovh.edixos.io_containerregistryusers.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -484,6 +484,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -507,6 +514,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/storage.ovh.edixos.io_projectregionstoragepresigns.yaml b/package/crds/storage.ovh.edixos.io_projectregionstoragepresigns.yaml index 0e3e1c5..8d5ce57 100644 --- a/package/crds/storage.ovh.edixos.io_projectregionstoragepresigns.yaml +++ b/package/crds/storage.ovh.edixos.io_projectregionstoragepresigns.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -363,6 +363,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -386,6 +393,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/vminstances.ovh.edixos.io_projectworkflowbackups.yaml b/package/crds/vminstances.ovh.edixos.io_projectworkflowbackups.yaml index 3aab4e3..4cc357b 100644 --- a/package/crds/vminstances.ovh.edixos.io_projectworkflowbackups.yaml +++ b/package/crds/vminstances.ovh.edixos.io_projectworkflowbackups.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -348,6 +348,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -371,6 +378,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/vrack.ovh.edixos.io_cloudprojects.yaml b/package/crds/vrack.ovh.edixos.io_cloudprojects.yaml index 6fb9ec0..869ec0c 100644 --- a/package/crds/vrack.ovh.edixos.io_cloudprojects.yaml +++ b/package/crds/vrack.ovh.edixos.io_cloudprojects.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -298,6 +298,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -321,6 +328,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/vrack.ovh.edixos.io_dedicatedserverinterfaces.yaml b/package/crds/vrack.ovh.edixos.io_dedicatedserverinterfaces.yaml index 37401fd..08d941a 100644 --- a/package/crds/vrack.ovh.edixos.io_dedicatedserverinterfaces.yaml +++ b/package/crds/vrack.ovh.edixos.io_dedicatedserverinterfaces.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -305,6 +305,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -328,6 +335,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/vrack.ovh.edixos.io_dedicatedservers.yaml b/package/crds/vrack.ovh.edixos.io_dedicatedservers.yaml index ac40439..e2526b6 100644 --- a/package/crds/vrack.ovh.edixos.io_dedicatedservers.yaml +++ b/package/crds/vrack.ovh.edixos.io_dedicatedservers.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -306,6 +306,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -329,6 +336,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/vrack.ovh.edixos.io_iploadbalancings.yaml b/package/crds/vrack.ovh.edixos.io_iploadbalancings.yaml index 127d2b3..334e910 100644 --- a/package/crds/vrack.ovh.edixos.io_iploadbalancings.yaml +++ b/package/crds/vrack.ovh.edixos.io_iploadbalancings.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -306,6 +306,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -329,6 +336,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/vrack.ovh.edixos.io_ips.yaml b/package/crds/vrack.ovh.edixos.io_ips.yaml index 5edde3d..6a5cd50 100644 --- a/package/crds/vrack.ovh.edixos.io_ips.yaml +++ b/package/crds/vrack.ovh.edixos.io_ips.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -314,6 +314,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -337,6 +344,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/vrack.ovh.edixos.io_vracks.yaml b/package/crds/vrack.ovh.edixos.io_vracks.yaml index 4a96196..a2b2942 100644 --- a/package/crds/vrack.ovh.edixos.io_vracks.yaml +++ b/package/crds/vrack.ovh.edixos.io_vracks.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -78,6 +78,11 @@ spec: name: description: yourvrackname type: string + order: + description: Details about an Order + items: + type: object + type: array ovhSubsidiary: description: Ovh Subsidiary type: string @@ -166,6 +171,11 @@ spec: name: description: yourvrackname type: string + order: + description: Details about an Order + items: + type: object + type: array ovhSubsidiary: description: Ovh Subsidiary type: string @@ -429,8 +439,10 @@ spec: items: properties: date: + description: date type: string details: + description: Information about a Bill entry items: properties: description: @@ -444,8 +456,10 @@ spec: type: object type: array expirationDate: + description: expiration date type: string orderId: + description: order id type: number type: object type: array @@ -539,6 +553,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -562,6 +583,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec