From 4a8670da8203d51fb7c75cc53d97c664d583136c Mon Sep 17 00:00:00 2001 From: Tyler Gillson Date: Thu, 22 Aug 2024 07:59:47 -0600 Subject: [PATCH] chore: bump TF provider to v0.21.0 (#28) * chore: bump TF provider to v0.21.0 Signed-off-by: Tyler Gillson * refreshed terrafrom provider to 0.21.1 * adding commit signature Signed-off-by: Sivaanand Murugesan * commit with signature Signed-off-by: Sivaanand Murugesan --------- Signed-off-by: Tyler Gillson Signed-off-by: Sivaanand Murugesan Co-authored-by: Sivaanand Murugesan --- Makefile | 2 +- apis/addon/v1alpha1/zz_deployment_types.go | 6 +- apis/cluster/v1alpha1/zz_aks_types.go | 24 +- apis/cluster/v1alpha1/zz_aws_types.go | 24 +- apis/cluster/v1alpha1/zz_azure_types.go | 6 +- apis/cluster/v1alpha1/zz_customcloud_types.go | 24 +- apis/cluster/v1alpha1/zz_edgenative_types.go | 24 +- apis/cluster/v1alpha1/zz_edgevsphere_types.go | 6 +- apis/cluster/v1alpha1/zz_eks_types.go | 24 +- apis/cluster/v1alpha1/zz_gcp_types.go | 24 +- .../v1alpha1/zz_generated.conversion_hubs.go | 3 - .../cluster/v1alpha1/zz_generated.deepcopy.go | 3192 +---------------- apis/cluster/v1alpha1/zz_generated.managed.go | 60 - .../v1alpha1/zz_generated.managedlist.go | 9 - apis/cluster/v1alpha1/zz_gke_types.go | 24 +- apis/cluster/v1alpha1/zz_group_types.go | 12 +- .../v1alpha1/zz_libvirt_terraformed.go | 129 - apis/cluster/v1alpha1/zz_libvirt_types.go | 1304 ------- apis/cluster/v1alpha1/zz_maas_types.go | 100 +- apis/cluster/v1alpha1/zz_openstack_types.go | 24 +- apis/cluster/v1alpha1/zz_profile_types.go | 18 +- apis/cluster/v1alpha1/zz_tke_types.go | 6 +- apis/cluster/v1alpha1/zz_vsphere_types.go | 6 +- apis/virtual/v1alpha1/zz_cluster_types.go | 24 +- config/provider-metadata.yaml | 148 +- config/schema.json | 2 +- .../cluster/libvirt/zz_controller.go | 84 - internal/controller/zz_setup.go | 2 - ...don.palette.crossplane.io_deployments.yaml | 15 +- .../cluster.palette.crossplane.io_aks.yaml | 24 +- .../cluster.palette.crossplane.io_aws.yaml | 24 +- .../cluster.palette.crossplane.io_azures.yaml | 6 +- ...er.palette.crossplane.io_customclouds.yaml | 24 +- ...ter.palette.crossplane.io_edgenatives.yaml | 24 +- ...er.palette.crossplane.io_edgevspheres.yaml | 15 +- .../cluster.palette.crossplane.io_eks.yaml | 24 +- .../cluster.palette.crossplane.io_gcps.yaml | 24 +- .../cluster.palette.crossplane.io_gkes.yaml | 24 +- .../cluster.palette.crossplane.io_groups.yaml | 12 +- ...luster.palette.crossplane.io_libvirts.yaml | 1773 --------- .../cluster.palette.crossplane.io_maas.yaml | 24 +- ...ster.palette.crossplane.io_openstacks.yaml | 24 +- ...luster.palette.crossplane.io_profiles.yaml | 18 +- .../cluster.palette.crossplane.io_tkes.yaml | 15 +- ...luster.palette.crossplane.io_vspheres.yaml | 15 +- ...irtual.palette.crossplane.io_clusters.yaml | 24 +- 46 files changed, 434 insertions(+), 6986 deletions(-) delete mode 100755 apis/cluster/v1alpha1/zz_libvirt_terraformed.go delete mode 100755 apis/cluster/v1alpha1/zz_libvirt_types.go delete mode 100755 internal/controller/cluster/libvirt/zz_controller.go delete mode 100644 package/crds/cluster.palette.crossplane.io_libvirts.yaml diff --git a/Makefile b/Makefile index c08d9ea..accbc44 100644 --- a/Makefile +++ b/Makefile @@ -7,7 +7,7 @@ PROJECT_REPO := github.com/crossplane-contrib/$(PROJECT_NAME) export TERRAFORM_VERSION := 1.3.3 export TERRAFORM_PROVIDER_SOURCE := spectrocloud/spectrocloud export TERRAFORM_PROVIDER_REPO := https://github.com/spectrocloud/terraform-provider-spectrocloud -export TERRAFORM_PROVIDER_VERSION := 0.20.8 +export TERRAFORM_PROVIDER_VERSION := 0.21.1 export TERRAFORM_PROVIDER_DOWNLOAD_NAME := terraform-provider-spectrocloud export TERRAFORM_NATIVE_PROVIDER_BINARY := terraform-provider-spectrocloud_$(TERRAFORM_PROVIDER_VERSION) export TERRAFORM_DOCS_PATH := docs/resources diff --git a/apis/addon/v1alpha1/zz_deployment_types.go b/apis/addon/v1alpha1/zz_deployment_types.go index f10db6a..cc7c7e4 100755 --- a/apis/addon/v1alpha1/zz_deployment_types.go +++ b/apis/addon/v1alpha1/zz_deployment_types.go @@ -130,7 +130,7 @@ type PackInitParameters struct { // The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + // The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. Type *string `json:"type,omitempty" tf:"type,omitempty"` // The unique identifier of the pack. The value can be looked up using the [`spectrocloud_pack`](https://registry.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) data source. This value is required if the pack type is `spectro` and for `helm` if the chart is from a public helm registry. @@ -152,7 +152,7 @@ type PackObservation struct { // The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + // The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. Type *string `json:"type,omitempty" tf:"type,omitempty"` // The unique identifier of the pack. The value can be looked up using the [`spectrocloud_pack`](https://registry.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) data source. This value is required if the pack type is `spectro` and for `helm` if the chart is from a public helm registry. @@ -179,7 +179,7 @@ type PackParameters struct { // +kubebuilder:validation:Optional Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + // The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. // +kubebuilder:validation:Optional Type *string `json:"type,omitempty" tf:"type,omitempty"` diff --git a/apis/cluster/v1alpha1/zz_aks_types.go b/apis/cluster/v1alpha1/zz_aks_types.go index 023aa8f..ae9aa7e 100755 --- a/apis/cluster/v1alpha1/zz_aks_types.go +++ b/apis/cluster/v1alpha1/zz_aks_types.go @@ -654,7 +654,7 @@ type ClusterRbacBindingInitParameters struct { // (Block List) (see below for nested schema) Subjects []SubjectsInitParameters `json:"subjects,omitempty" tf:"subjects,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -673,7 +673,7 @@ type ClusterRbacBindingObservation struct { // (Block List) (see below for nested schema) Subjects []SubjectsObservation `json:"subjects,omitempty" tf:"subjects,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -695,7 +695,7 @@ type ClusterRbacBindingParameters struct { // +kubebuilder:validation:Optional Subjects []SubjectsParameters `json:"subjects,omitempty" tf:"subjects,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. // +kubebuilder:validation:Optional Type *string `json:"type" tf:"type,omitempty"` @@ -1074,8 +1074,8 @@ type PackInitParameters struct { // The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + // The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. Type *string `json:"type,omitempty" tf:"type,omitempty"` // (String) The unique identifier of the pack. The value can be looked up using the spectrocloud_pack data source. This value is required if the pack type is spectro and for helm if the chart is from a public helm registry. @@ -1104,8 +1104,8 @@ type PackObservation struct { // The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + // The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. Type *string `json:"type,omitempty" tf:"type,omitempty"` // (String) The unique identifier of the pack. The value can be looked up using the spectrocloud_pack data source. This value is required if the pack type is spectro and for helm if the chart is from a public helm registry. @@ -1138,8 +1138,8 @@ type PackParameters struct { // +kubebuilder:validation:Optional Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + // The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. // +kubebuilder:validation:Optional Type *string `json:"type,omitempty" tf:"type,omitempty"` @@ -1212,7 +1212,7 @@ type SubjectsInitParameters struct { // The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'. Namespace *string `json:"namespace,omitempty" tf:"namespace,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -1227,7 +1227,7 @@ type SubjectsObservation struct { // The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'. Namespace *string `json:"namespace,omitempty" tf:"namespace,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -1244,7 +1244,7 @@ type SubjectsParameters struct { // +kubebuilder:validation:Optional Namespace *string `json:"namespace,omitempty" tf:"namespace,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. // +kubebuilder:validation:Optional Type *string `json:"type" tf:"type,omitempty"` diff --git a/apis/cluster/v1alpha1/zz_aws_types.go b/apis/cluster/v1alpha1/zz_aws_types.go index b5e5a43..0a43635 100755 --- a/apis/cluster/v1alpha1/zz_aws_types.go +++ b/apis/cluster/v1alpha1/zz_aws_types.go @@ -255,7 +255,7 @@ type AwsClusterRbacBindingInitParameters struct { // (Block List) (see below for nested schema) Subjects []ClusterRbacBindingSubjectsInitParameters `json:"subjects,omitempty" tf:"subjects,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -274,7 +274,7 @@ type AwsClusterRbacBindingObservation struct { // (Block List) (see below for nested schema) Subjects []ClusterRbacBindingSubjectsObservation `json:"subjects,omitempty" tf:"subjects,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -296,7 +296,7 @@ type AwsClusterRbacBindingParameters struct { // +kubebuilder:validation:Optional Subjects []ClusterRbacBindingSubjectsParameters `json:"subjects,omitempty" tf:"subjects,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. // +kubebuilder:validation:Optional Type *string `json:"type" tf:"type,omitempty"` @@ -1057,8 +1057,8 @@ type ClusterProfilePackInitParameters struct { // The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + // The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. Type *string `json:"type,omitempty" tf:"type,omitempty"` // (String) The unique identifier of the pack. The value can be looked up using the spectrocloud_pack data source. This value is required if the pack type is spectro and for helm if the chart is from a public helm registry. @@ -1087,8 +1087,8 @@ type ClusterProfilePackObservation struct { // The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + // The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. Type *string `json:"type,omitempty" tf:"type,omitempty"` // (String) The unique identifier of the pack. The value can be looked up using the spectrocloud_pack data source. This value is required if the pack type is spectro and for helm if the chart is from a public helm registry. @@ -1121,8 +1121,8 @@ type ClusterProfilePackParameters struct { // +kubebuilder:validation:Optional Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + // The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. // +kubebuilder:validation:Optional Type *string `json:"type,omitempty" tf:"type,omitempty"` @@ -1147,7 +1147,7 @@ type ClusterRbacBindingSubjectsInitParameters struct { // The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'. Namespace *string `json:"namespace,omitempty" tf:"namespace,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -1162,7 +1162,7 @@ type ClusterRbacBindingSubjectsObservation struct { // The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'. Namespace *string `json:"namespace,omitempty" tf:"namespace,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -1179,7 +1179,7 @@ type ClusterRbacBindingSubjectsParameters struct { // +kubebuilder:validation:Optional Namespace *string `json:"namespace,omitempty" tf:"namespace,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. // +kubebuilder:validation:Optional Type *string `json:"type" tf:"type,omitempty"` diff --git a/apis/cluster/v1alpha1/zz_azure_types.go b/apis/cluster/v1alpha1/zz_azure_types.go index c7bca92..35e9769 100755 --- a/apis/cluster/v1alpha1/zz_azure_types.go +++ b/apis/cluster/v1alpha1/zz_azure_types.go @@ -331,7 +331,7 @@ type AzureClusterProfilePackInitParameters struct { Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` // (String) Type of the disk. Valid values are Standard_LRS, StandardSSD_LRS, Premium_LRS. - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + // The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. Type *string `json:"type,omitempty" tf:"type,omitempty"` // (String) The unique identifier of the pack. The value can be looked up using the spectrocloud_pack data source. This value is required if the pack type is spectro and for helm if the chart is from a public helm registry. @@ -361,7 +361,7 @@ type AzureClusterProfilePackObservation struct { Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` // (String) Type of the disk. Valid values are Standard_LRS, StandardSSD_LRS, Premium_LRS. - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + // The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. Type *string `json:"type,omitempty" tf:"type,omitempty"` // (String) The unique identifier of the pack. The value can be looked up using the spectrocloud_pack data source. This value is required if the pack type is spectro and for helm if the chart is from a public helm registry. @@ -395,7 +395,7 @@ type AzureClusterProfilePackParameters struct { Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` // (String) Type of the disk. Valid values are Standard_LRS, StandardSSD_LRS, Premium_LRS. - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + // The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. // +kubebuilder:validation:Optional Type *string `json:"type,omitempty" tf:"type,omitempty"` diff --git a/apis/cluster/v1alpha1/zz_customcloud_types.go b/apis/cluster/v1alpha1/zz_customcloud_types.go index 5e03419..70a3405 100755 --- a/apis/cluster/v1alpha1/zz_customcloud_types.go +++ b/apis/cluster/v1alpha1/zz_customcloud_types.go @@ -206,8 +206,8 @@ type CustomCloudClusterProfilePackInitParameters struct { // The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + // The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. Type *string `json:"type,omitempty" tf:"type,omitempty"` // (String) The unique identifier of the pack. The value can be looked up using the spectrocloud_pack data source. This value is required if the pack type is spectro and for helm if the chart is from a public helm registry. @@ -274,8 +274,8 @@ type CustomCloudClusterProfilePackObservation struct { // The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + // The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. Type *string `json:"type,omitempty" tf:"type,omitempty"` // (String) The unique identifier of the pack. The value can be looked up using the spectrocloud_pack data source. This value is required if the pack type is spectro and for helm if the chart is from a public helm registry. @@ -308,8 +308,8 @@ type CustomCloudClusterProfilePackParameters struct { // +kubebuilder:validation:Optional Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + // The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. // +kubebuilder:validation:Optional Type *string `json:"type,omitempty" tf:"type,omitempty"` @@ -351,7 +351,7 @@ type CustomCloudClusterRbacBindingInitParameters struct { // (Block List) (see below for nested schema) Subjects []CustomCloudClusterRbacBindingSubjectsInitParameters `json:"subjects,omitempty" tf:"subjects,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -370,7 +370,7 @@ type CustomCloudClusterRbacBindingObservation struct { // (Block List) (see below for nested schema) Subjects []CustomCloudClusterRbacBindingSubjectsObservation `json:"subjects,omitempty" tf:"subjects,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -392,7 +392,7 @@ type CustomCloudClusterRbacBindingParameters struct { // +kubebuilder:validation:Optional Subjects []CustomCloudClusterRbacBindingSubjectsParameters `json:"subjects,omitempty" tf:"subjects,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. // +kubebuilder:validation:Optional Type *string `json:"type" tf:"type,omitempty"` @@ -408,7 +408,7 @@ type CustomCloudClusterRbacBindingSubjectsInitParameters struct { // The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'. Namespace *string `json:"namespace,omitempty" tf:"namespace,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -423,7 +423,7 @@ type CustomCloudClusterRbacBindingSubjectsObservation struct { // The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'. Namespace *string `json:"namespace,omitempty" tf:"namespace,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -440,7 +440,7 @@ type CustomCloudClusterRbacBindingSubjectsParameters struct { // +kubebuilder:validation:Optional Namespace *string `json:"namespace,omitempty" tf:"namespace,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. // +kubebuilder:validation:Optional Type *string `json:"type" tf:"type,omitempty"` diff --git a/apis/cluster/v1alpha1/zz_edgenative_types.go b/apis/cluster/v1alpha1/zz_edgenative_types.go index b544728..5328f70 100755 --- a/apis/cluster/v1alpha1/zz_edgenative_types.go +++ b/apis/cluster/v1alpha1/zz_edgenative_types.go @@ -312,8 +312,8 @@ type EdgeNativeClusterProfilePackInitParameters struct { // The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + // The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. Type *string `json:"type,omitempty" tf:"type,omitempty"` // (String) The unique identifier of the pack. The value can be looked up using the spectrocloud_pack data source. This value is required if the pack type is spectro and for helm if the chart is from a public helm registry. @@ -380,8 +380,8 @@ type EdgeNativeClusterProfilePackObservation struct { // The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + // The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. Type *string `json:"type,omitempty" tf:"type,omitempty"` // (String) The unique identifier of the pack. The value can be looked up using the spectrocloud_pack data source. This value is required if the pack type is spectro and for helm if the chart is from a public helm registry. @@ -414,8 +414,8 @@ type EdgeNativeClusterProfilePackParameters struct { // +kubebuilder:validation:Optional Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + // The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. // +kubebuilder:validation:Optional Type *string `json:"type,omitempty" tf:"type,omitempty"` @@ -457,7 +457,7 @@ type EdgeNativeClusterRbacBindingInitParameters struct { // (Block List) (see below for nested schema) Subjects []EdgeNativeClusterRbacBindingSubjectsInitParameters `json:"subjects,omitempty" tf:"subjects,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -476,7 +476,7 @@ type EdgeNativeClusterRbacBindingObservation struct { // (Block List) (see below for nested schema) Subjects []EdgeNativeClusterRbacBindingSubjectsObservation `json:"subjects,omitempty" tf:"subjects,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -498,7 +498,7 @@ type EdgeNativeClusterRbacBindingParameters struct { // +kubebuilder:validation:Optional Subjects []EdgeNativeClusterRbacBindingSubjectsParameters `json:"subjects,omitempty" tf:"subjects,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. // +kubebuilder:validation:Optional Type *string `json:"type" tf:"type,omitempty"` @@ -514,7 +514,7 @@ type EdgeNativeClusterRbacBindingSubjectsInitParameters struct { // The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'. Namespace *string `json:"namespace,omitempty" tf:"namespace,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -529,7 +529,7 @@ type EdgeNativeClusterRbacBindingSubjectsObservation struct { // The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'. Namespace *string `json:"namespace,omitempty" tf:"namespace,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -546,7 +546,7 @@ type EdgeNativeClusterRbacBindingSubjectsParameters struct { // +kubebuilder:validation:Optional Namespace *string `json:"namespace,omitempty" tf:"namespace,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. // +kubebuilder:validation:Optional Type *string `json:"type" tf:"type,omitempty"` diff --git a/apis/cluster/v1alpha1/zz_edgevsphere_types.go b/apis/cluster/v1alpha1/zz_edgevsphere_types.go index ce630ae..b821ce8 100755 --- a/apis/cluster/v1alpha1/zz_edgevsphere_types.go +++ b/apis/cluster/v1alpha1/zz_edgevsphere_types.go @@ -227,7 +227,7 @@ type EdgeVsphereClusterProfilePackInitParameters struct { // The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + // The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. Type *string `json:"type,omitempty" tf:"type,omitempty"` // The unique identifier of the pack. The value can be looked up using the [`spectrocloud_pack`](https://registry.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) data source. This value is required if the pack type is `spectro` and for `helm` if the chart is from a public helm registry. @@ -280,7 +280,7 @@ type EdgeVsphereClusterProfilePackObservation struct { // The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + // The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. Type *string `json:"type,omitempty" tf:"type,omitempty"` // The unique identifier of the pack. The value can be looked up using the [`spectrocloud_pack`](https://registry.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) data source. This value is required if the pack type is `spectro` and for `helm` if the chart is from a public helm registry. @@ -307,7 +307,7 @@ type EdgeVsphereClusterProfilePackParameters struct { // +kubebuilder:validation:Optional Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + // The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. // +kubebuilder:validation:Optional Type *string `json:"type,omitempty" tf:"type,omitempty"` diff --git a/apis/cluster/v1alpha1/zz_eks_types.go b/apis/cluster/v1alpha1/zz_eks_types.go index 2d152f2..8f193f8 100755 --- a/apis/cluster/v1alpha1/zz_eks_types.go +++ b/apis/cluster/v1alpha1/zz_eks_types.go @@ -313,8 +313,8 @@ type EksClusterProfilePackInitParameters struct { // The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + // The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. Type *string `json:"type,omitempty" tf:"type,omitempty"` // (String) The unique identifier of the pack. The value can be looked up using the spectrocloud_pack data source. This value is required if the pack type is spectro and for helm if the chart is from a public helm registry. @@ -381,8 +381,8 @@ type EksClusterProfilePackObservation struct { // The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + // The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. Type *string `json:"type,omitempty" tf:"type,omitempty"` // (String) The unique identifier of the pack. The value can be looked up using the spectrocloud_pack data source. This value is required if the pack type is spectro and for helm if the chart is from a public helm registry. @@ -415,8 +415,8 @@ type EksClusterProfilePackParameters struct { // +kubebuilder:validation:Optional Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + // The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. // +kubebuilder:validation:Optional Type *string `json:"type,omitempty" tf:"type,omitempty"` @@ -458,7 +458,7 @@ type EksClusterRbacBindingInitParameters struct { // (Block List) (see below for nested schema) Subjects []EksClusterRbacBindingSubjectsInitParameters `json:"subjects,omitempty" tf:"subjects,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -477,7 +477,7 @@ type EksClusterRbacBindingObservation struct { // (Block List) (see below for nested schema) Subjects []EksClusterRbacBindingSubjectsObservation `json:"subjects,omitempty" tf:"subjects,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -499,7 +499,7 @@ type EksClusterRbacBindingParameters struct { // +kubebuilder:validation:Optional Subjects []EksClusterRbacBindingSubjectsParameters `json:"subjects,omitempty" tf:"subjects,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. // +kubebuilder:validation:Optional Type *string `json:"type" tf:"type,omitempty"` @@ -515,7 +515,7 @@ type EksClusterRbacBindingSubjectsInitParameters struct { // The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'. Namespace *string `json:"namespace,omitempty" tf:"namespace,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -530,7 +530,7 @@ type EksClusterRbacBindingSubjectsObservation struct { // The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'. Namespace *string `json:"namespace,omitempty" tf:"namespace,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -547,7 +547,7 @@ type EksClusterRbacBindingSubjectsParameters struct { // +kubebuilder:validation:Optional Namespace *string `json:"namespace,omitempty" tf:"namespace,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. // +kubebuilder:validation:Optional Type *string `json:"type" tf:"type,omitempty"` diff --git a/apis/cluster/v1alpha1/zz_gcp_types.go b/apis/cluster/v1alpha1/zz_gcp_types.go index 541c649..648eff1 100755 --- a/apis/cluster/v1alpha1/zz_gcp_types.go +++ b/apis/cluster/v1alpha1/zz_gcp_types.go @@ -223,8 +223,8 @@ type GCPClusterProfilePackInitParameters struct { // The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + // The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. Type *string `json:"type,omitempty" tf:"type,omitempty"` // (String) The unique identifier of the pack. The value can be looked up using the spectrocloud_pack data source. This value is required if the pack type is spectro and for helm if the chart is from a public helm registry. @@ -291,8 +291,8 @@ type GCPClusterProfilePackObservation struct { // The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + // The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. Type *string `json:"type,omitempty" tf:"type,omitempty"` // (String) The unique identifier of the pack. The value can be looked up using the spectrocloud_pack data source. This value is required if the pack type is spectro and for helm if the chart is from a public helm registry. @@ -325,8 +325,8 @@ type GCPClusterProfilePackParameters struct { // +kubebuilder:validation:Optional Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + // The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. // +kubebuilder:validation:Optional Type *string `json:"type,omitempty" tf:"type,omitempty"` @@ -368,7 +368,7 @@ type GCPClusterRbacBindingInitParameters struct { // (Block List) (see below for nested schema) Subjects []GCPClusterRbacBindingSubjectsInitParameters `json:"subjects,omitempty" tf:"subjects,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -387,7 +387,7 @@ type GCPClusterRbacBindingObservation struct { // (Block List) (see below for nested schema) Subjects []GCPClusterRbacBindingSubjectsObservation `json:"subjects,omitempty" tf:"subjects,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -409,7 +409,7 @@ type GCPClusterRbacBindingParameters struct { // +kubebuilder:validation:Optional Subjects []GCPClusterRbacBindingSubjectsParameters `json:"subjects,omitempty" tf:"subjects,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. // +kubebuilder:validation:Optional Type *string `json:"type" tf:"type,omitempty"` @@ -425,7 +425,7 @@ type GCPClusterRbacBindingSubjectsInitParameters struct { // The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'. Namespace *string `json:"namespace,omitempty" tf:"namespace,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -440,7 +440,7 @@ type GCPClusterRbacBindingSubjectsObservation struct { // The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'. Namespace *string `json:"namespace,omitempty" tf:"namespace,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -457,7 +457,7 @@ type GCPClusterRbacBindingSubjectsParameters struct { // +kubebuilder:validation:Optional Namespace *string `json:"namespace,omitempty" tf:"namespace,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. // +kubebuilder:validation:Optional Type *string `json:"type" tf:"type,omitempty"` diff --git a/apis/cluster/v1alpha1/zz_generated.conversion_hubs.go b/apis/cluster/v1alpha1/zz_generated.conversion_hubs.go index 7981572..168bd33 100755 --- a/apis/cluster/v1alpha1/zz_generated.conversion_hubs.go +++ b/apis/cluster/v1alpha1/zz_generated.conversion_hubs.go @@ -36,9 +36,6 @@ func (tr *Gke) Hub() {} // Hub marks this type as a conversion hub. func (tr *Group) Hub() {} -// Hub marks this type as a conversion hub. -func (tr *Libvirt) Hub() {} - // Hub marks this type as a conversion hub. func (tr *Maas) Hub() {} diff --git a/apis/cluster/v1alpha1/zz_generated.deepcopy.go b/apis/cluster/v1alpha1/zz_generated.deepcopy.go index c2bfecc..371c0a7 100644 --- a/apis/cluster/v1alpha1/zz_generated.deepcopy.go +++ b/apis/cluster/v1alpha1/zz_generated.deepcopy.go @@ -574,81 +574,6 @@ func (in *AksStatus) DeepCopy() *AksStatus { return out } -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *AttachedDisksInitParameters) DeepCopyInto(out *AttachedDisksInitParameters) { - *out = *in - if in.Managed != nil { - in, out := &in.Managed, &out.Managed - *out = new(bool) - **out = **in - } - if in.SizeInGb != nil { - in, out := &in.SizeInGb, &out.SizeInGb - *out = new(float64) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttachedDisksInitParameters. -func (in *AttachedDisksInitParameters) DeepCopy() *AttachedDisksInitParameters { - if in == nil { - return nil - } - out := new(AttachedDisksInitParameters) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *AttachedDisksObservation) DeepCopyInto(out *AttachedDisksObservation) { - *out = *in - if in.Managed != nil { - in, out := &in.Managed, &out.Managed - *out = new(bool) - **out = **in - } - if in.SizeInGb != nil { - in, out := &in.SizeInGb, &out.SizeInGb - *out = new(float64) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttachedDisksObservation. -func (in *AttachedDisksObservation) DeepCopy() *AttachedDisksObservation { - if in == nil { - return nil - } - out := new(AttachedDisksObservation) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *AttachedDisksParameters) DeepCopyInto(out *AttachedDisksParameters) { - *out = *in - if in.Managed != nil { - in, out := &in.Managed, &out.Managed - *out = new(bool) - **out = **in - } - if in.SizeInGb != nil { - in, out := &in.SizeInGb, &out.SizeInGb - *out = new(float64) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttachedDisksParameters. -func (in *AttachedDisksParameters) DeepCopy() *AttachedDisksParameters { - if in == nil { - return nil - } - out := new(AttachedDisksParameters) - in.DeepCopyInto(out) - return out -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *Aws) DeepCopyInto(out *Aws) { *out = *in @@ -20451,267 +20376,6 @@ func (in *GkeStatus) DeepCopy() *GkeStatus { return out } -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *GpuConfigInitParameters) DeepCopyInto(out *GpuConfigInitParameters) { - *out = *in - if in.Addresses != nil { - in, out := &in.Addresses, &out.Addresses - *out = make(map[string]*string, len(*in)) - for key, val := range *in { - var outVal *string - if val == nil { - (*out)[key] = nil - } else { - inVal := (*in)[key] - in, out := &inVal, &outVal - *out = new(string) - **out = **in - } - (*out)[key] = outVal - } - } - if in.DeviceModel != nil { - in, out := &in.DeviceModel, &out.DeviceModel - *out = new(string) - **out = **in - } - if in.NumGpus != nil { - in, out := &in.NumGpus, &out.NumGpus - *out = new(float64) - **out = **in - } - if in.Vendor != nil { - in, out := &in.Vendor, &out.Vendor - *out = new(string) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GpuConfigInitParameters. -func (in *GpuConfigInitParameters) DeepCopy() *GpuConfigInitParameters { - if in == nil { - return nil - } - out := new(GpuConfigInitParameters) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *GpuConfigObservation) DeepCopyInto(out *GpuConfigObservation) { - *out = *in - if in.Addresses != nil { - in, out := &in.Addresses, &out.Addresses - *out = make(map[string]*string, len(*in)) - for key, val := range *in { - var outVal *string - if val == nil { - (*out)[key] = nil - } else { - inVal := (*in)[key] - in, out := &inVal, &outVal - *out = new(string) - **out = **in - } - (*out)[key] = outVal - } - } - if in.DeviceModel != nil { - in, out := &in.DeviceModel, &out.DeviceModel - *out = new(string) - **out = **in - } - if in.NumGpus != nil { - in, out := &in.NumGpus, &out.NumGpus - *out = new(float64) - **out = **in - } - if in.Vendor != nil { - in, out := &in.Vendor, &out.Vendor - *out = new(string) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GpuConfigObservation. -func (in *GpuConfigObservation) DeepCopy() *GpuConfigObservation { - if in == nil { - return nil - } - out := new(GpuConfigObservation) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *GpuConfigParameters) DeepCopyInto(out *GpuConfigParameters) { - *out = *in - if in.Addresses != nil { - in, out := &in.Addresses, &out.Addresses - *out = make(map[string]*string, len(*in)) - for key, val := range *in { - var outVal *string - if val == nil { - (*out)[key] = nil - } else { - inVal := (*in)[key] - in, out := &inVal, &outVal - *out = new(string) - **out = **in - } - (*out)[key] = outVal - } - } - if in.DeviceModel != nil { - in, out := &in.DeviceModel, &out.DeviceModel - *out = new(string) - **out = **in - } - if in.NumGpus != nil { - in, out := &in.NumGpus, &out.NumGpus - *out = new(float64) - **out = **in - } - if in.Vendor != nil { - in, out := &in.Vendor, &out.Vendor - *out = new(string) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GpuConfigParameters. -func (in *GpuConfigParameters) DeepCopy() *GpuConfigParameters { - if in == nil { - return nil - } - out := new(GpuConfigParameters) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *GpuDeviceInitParameters) DeepCopyInto(out *GpuDeviceInitParameters) { - *out = *in - if in.Addresses != nil { - in, out := &in.Addresses, &out.Addresses - *out = make(map[string]*string, len(*in)) - for key, val := range *in { - var outVal *string - if val == nil { - (*out)[key] = nil - } else { - inVal := (*in)[key] - in, out := &inVal, &outVal - *out = new(string) - **out = **in - } - (*out)[key] = outVal - } - } - if in.DeviceModel != nil { - in, out := &in.DeviceModel, &out.DeviceModel - *out = new(string) - **out = **in - } - if in.Vendor != nil { - in, out := &in.Vendor, &out.Vendor - *out = new(string) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GpuDeviceInitParameters. -func (in *GpuDeviceInitParameters) DeepCopy() *GpuDeviceInitParameters { - if in == nil { - return nil - } - out := new(GpuDeviceInitParameters) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *GpuDeviceObservation) DeepCopyInto(out *GpuDeviceObservation) { - *out = *in - if in.Addresses != nil { - in, out := &in.Addresses, &out.Addresses - *out = make(map[string]*string, len(*in)) - for key, val := range *in { - var outVal *string - if val == nil { - (*out)[key] = nil - } else { - inVal := (*in)[key] - in, out := &inVal, &outVal - *out = new(string) - **out = **in - } - (*out)[key] = outVal - } - } - if in.DeviceModel != nil { - in, out := &in.DeviceModel, &out.DeviceModel - *out = new(string) - **out = **in - } - if in.Vendor != nil { - in, out := &in.Vendor, &out.Vendor - *out = new(string) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GpuDeviceObservation. -func (in *GpuDeviceObservation) DeepCopy() *GpuDeviceObservation { - if in == nil { - return nil - } - out := new(GpuDeviceObservation) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *GpuDeviceParameters) DeepCopyInto(out *GpuDeviceParameters) { - *out = *in - if in.Addresses != nil { - in, out := &in.Addresses, &out.Addresses - *out = make(map[string]*string, len(*in)) - for key, val := range *in { - var outVal *string - if val == nil { - (*out)[key] = nil - } else { - inVal := (*in)[key] - in, out := &inVal, &outVal - *out = new(string) - **out = **in - } - (*out)[key] = outVal - } - } - if in.DeviceModel != nil { - in, out := &in.DeviceModel, &out.DeviceModel - *out = new(string) - **out = **in - } - if in.Vendor != nil { - in, out := &in.Vendor, &out.Vendor - *out = new(string) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GpuDeviceParameters. -func (in *GpuDeviceParameters) DeepCopy() *GpuDeviceParameters { - if in == nil { - return nil - } - out := new(GpuDeviceParameters) - in.DeepCopyInto(out) - return out -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *Group) DeepCopyInto(out *Group) { *out = *in @@ -21495,2433 +21159,16 @@ func (in *InstanceTypeParameters) DeepCopy() *InstanceTypeParameters { } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *Libvirt) DeepCopyInto(out *Libvirt) { +func (in *LocationConfigInitParameters) DeepCopyInto(out *LocationConfigInitParameters) { *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 Libvirt. -func (in *Libvirt) DeepCopy() *Libvirt { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocationConfigInitParameters. +func (in *LocationConfigInitParameters) DeepCopy() *LocationConfigInitParameters { if in == nil { return nil } - out := new(Libvirt) - in.DeepCopyInto(out) - return out -} - -// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *Libvirt) 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 *LibvirtBackupPolicyInitParameters) DeepCopyInto(out *LibvirtBackupPolicyInitParameters) { - *out = *in - if in.BackupLocationID != nil { - in, out := &in.BackupLocationID, &out.BackupLocationID - *out = new(string) - **out = **in - } - if in.ClusterUids != nil { - in, out := &in.ClusterUids, &out.ClusterUids - *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.ExpiryInHour != nil { - in, out := &in.ExpiryInHour, &out.ExpiryInHour - *out = new(float64) - **out = **in - } - if in.IncludeAllClusters != nil { - in, out := &in.IncludeAllClusters, &out.IncludeAllClusters - *out = new(bool) - **out = **in - } - if in.IncludeClusterResources != nil { - in, out := &in.IncludeClusterResources, &out.IncludeClusterResources - *out = new(bool) - **out = **in - } - if in.IncludeDisks != nil { - in, out := &in.IncludeDisks, &out.IncludeDisks - *out = new(bool) - **out = **in - } - if in.Namespaces != nil { - in, out := &in.Namespaces, &out.Namespaces - *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.Prefix != nil { - in, out := &in.Prefix, &out.Prefix - *out = new(string) - **out = **in - } - if in.Schedule != nil { - in, out := &in.Schedule, &out.Schedule - *out = new(string) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LibvirtBackupPolicyInitParameters. -func (in *LibvirtBackupPolicyInitParameters) DeepCopy() *LibvirtBackupPolicyInitParameters { - if in == nil { - return nil - } - out := new(LibvirtBackupPolicyInitParameters) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *LibvirtBackupPolicyObservation) DeepCopyInto(out *LibvirtBackupPolicyObservation) { - *out = *in - if in.BackupLocationID != nil { - in, out := &in.BackupLocationID, &out.BackupLocationID - *out = new(string) - **out = **in - } - if in.ClusterUids != nil { - in, out := &in.ClusterUids, &out.ClusterUids - *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.ExpiryInHour != nil { - in, out := &in.ExpiryInHour, &out.ExpiryInHour - *out = new(float64) - **out = **in - } - if in.IncludeAllClusters != nil { - in, out := &in.IncludeAllClusters, &out.IncludeAllClusters - *out = new(bool) - **out = **in - } - if in.IncludeClusterResources != nil { - in, out := &in.IncludeClusterResources, &out.IncludeClusterResources - *out = new(bool) - **out = **in - } - if in.IncludeDisks != nil { - in, out := &in.IncludeDisks, &out.IncludeDisks - *out = new(bool) - **out = **in - } - if in.Namespaces != nil { - in, out := &in.Namespaces, &out.Namespaces - *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.Prefix != nil { - in, out := &in.Prefix, &out.Prefix - *out = new(string) - **out = **in - } - if in.Schedule != nil { - in, out := &in.Schedule, &out.Schedule - *out = new(string) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LibvirtBackupPolicyObservation. -func (in *LibvirtBackupPolicyObservation) DeepCopy() *LibvirtBackupPolicyObservation { - if in == nil { - return nil - } - out := new(LibvirtBackupPolicyObservation) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *LibvirtBackupPolicyParameters) DeepCopyInto(out *LibvirtBackupPolicyParameters) { - *out = *in - if in.BackupLocationID != nil { - in, out := &in.BackupLocationID, &out.BackupLocationID - *out = new(string) - **out = **in - } - if in.ClusterUids != nil { - in, out := &in.ClusterUids, &out.ClusterUids - *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.ExpiryInHour != nil { - in, out := &in.ExpiryInHour, &out.ExpiryInHour - *out = new(float64) - **out = **in - } - if in.IncludeAllClusters != nil { - in, out := &in.IncludeAllClusters, &out.IncludeAllClusters - *out = new(bool) - **out = **in - } - if in.IncludeClusterResources != nil { - in, out := &in.IncludeClusterResources, &out.IncludeClusterResources - *out = new(bool) - **out = **in - } - if in.IncludeDisks != nil { - in, out := &in.IncludeDisks, &out.IncludeDisks - *out = new(bool) - **out = **in - } - if in.Namespaces != nil { - in, out := &in.Namespaces, &out.Namespaces - *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.Prefix != nil { - in, out := &in.Prefix, &out.Prefix - *out = new(string) - **out = **in - } - if in.Schedule != nil { - in, out := &in.Schedule, &out.Schedule - *out = new(string) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LibvirtBackupPolicyParameters. -func (in *LibvirtBackupPolicyParameters) DeepCopy() *LibvirtBackupPolicyParameters { - if in == nil { - return nil - } - out := new(LibvirtBackupPolicyParameters) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *LibvirtCloudConfigInitParameters) DeepCopyInto(out *LibvirtCloudConfigInitParameters) { - *out = *in - if in.NetworkSearchDomain != nil { - in, out := &in.NetworkSearchDomain, &out.NetworkSearchDomain - *out = new(string) - **out = **in - } - if in.NetworkType != nil { - in, out := &in.NetworkType, &out.NetworkType - *out = new(string) - **out = **in - } - if in.NtpServers != nil { - in, out := &in.NtpServers, &out.NtpServers - *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.SSHKeys != nil { - in, out := &in.SSHKeys, &out.SSHKeys - *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.Vip != nil { - in, out := &in.Vip, &out.Vip - *out = new(string) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LibvirtCloudConfigInitParameters. -func (in *LibvirtCloudConfigInitParameters) DeepCopy() *LibvirtCloudConfigInitParameters { - if in == nil { - return nil - } - out := new(LibvirtCloudConfigInitParameters) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *LibvirtCloudConfigObservation) DeepCopyInto(out *LibvirtCloudConfigObservation) { - *out = *in - if in.NetworkSearchDomain != nil { - in, out := &in.NetworkSearchDomain, &out.NetworkSearchDomain - *out = new(string) - **out = **in - } - if in.NetworkType != nil { - in, out := &in.NetworkType, &out.NetworkType - *out = new(string) - **out = **in - } - if in.NtpServers != nil { - in, out := &in.NtpServers, &out.NtpServers - *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.SSHKeys != nil { - in, out := &in.SSHKeys, &out.SSHKeys - *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.Vip != nil { - in, out := &in.Vip, &out.Vip - *out = new(string) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LibvirtCloudConfigObservation. -func (in *LibvirtCloudConfigObservation) DeepCopy() *LibvirtCloudConfigObservation { - if in == nil { - return nil - } - out := new(LibvirtCloudConfigObservation) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *LibvirtCloudConfigParameters) DeepCopyInto(out *LibvirtCloudConfigParameters) { - *out = *in - if in.NetworkSearchDomain != nil { - in, out := &in.NetworkSearchDomain, &out.NetworkSearchDomain - *out = new(string) - **out = **in - } - if in.NetworkType != nil { - in, out := &in.NetworkType, &out.NetworkType - *out = new(string) - **out = **in - } - if in.NtpServers != nil { - in, out := &in.NtpServers, &out.NtpServers - *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.SSHKeys != nil { - in, out := &in.SSHKeys, &out.SSHKeys - *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.Vip != nil { - in, out := &in.Vip, &out.Vip - *out = new(string) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LibvirtCloudConfigParameters. -func (in *LibvirtCloudConfigParameters) DeepCopy() *LibvirtCloudConfigParameters { - if in == nil { - return nil - } - out := new(LibvirtCloudConfigParameters) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *LibvirtClusterProfileInitParameters) DeepCopyInto(out *LibvirtClusterProfileInitParameters) { - *out = *in - if in.ID != nil { - in, out := &in.ID, &out.ID - *out = new(string) - **out = **in - } - if in.Pack != nil { - in, out := &in.Pack, &out.Pack - *out = make([]LibvirtClusterProfilePackInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LibvirtClusterProfileInitParameters. -func (in *LibvirtClusterProfileInitParameters) DeepCopy() *LibvirtClusterProfileInitParameters { - if in == nil { - return nil - } - out := new(LibvirtClusterProfileInitParameters) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *LibvirtClusterProfileObservation) DeepCopyInto(out *LibvirtClusterProfileObservation) { - *out = *in - if in.ID != nil { - in, out := &in.ID, &out.ID - *out = new(string) - **out = **in - } - if in.Pack != nil { - in, out := &in.Pack, &out.Pack - *out = make([]LibvirtClusterProfilePackObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LibvirtClusterProfileObservation. -func (in *LibvirtClusterProfileObservation) DeepCopy() *LibvirtClusterProfileObservation { - if in == nil { - return nil - } - out := new(LibvirtClusterProfileObservation) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *LibvirtClusterProfilePackInitParameters) DeepCopyInto(out *LibvirtClusterProfilePackInitParameters) { - *out = *in - if in.Manifest != nil { - in, out := &in.Manifest, &out.Manifest - *out = make([]LibvirtClusterProfilePackManifestInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.Name != nil { - in, out := &in.Name, &out.Name - *out = new(string) - **out = **in - } - if in.RegistryUID != nil { - in, out := &in.RegistryUID, &out.RegistryUID - *out = new(string) - **out = **in - } - if in.Tag != nil { - in, out := &in.Tag, &out.Tag - *out = new(string) - **out = **in - } - if in.Type != nil { - in, out := &in.Type, &out.Type - *out = new(string) - **out = **in - } - if in.UID != nil { - in, out := &in.UID, &out.UID - *out = new(string) - **out = **in - } - if in.Values != nil { - in, out := &in.Values, &out.Values - *out = new(string) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LibvirtClusterProfilePackInitParameters. -func (in *LibvirtClusterProfilePackInitParameters) DeepCopy() *LibvirtClusterProfilePackInitParameters { - if in == nil { - return nil - } - out := new(LibvirtClusterProfilePackInitParameters) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *LibvirtClusterProfilePackManifestInitParameters) DeepCopyInto(out *LibvirtClusterProfilePackManifestInitParameters) { - *out = *in - if in.Content != nil { - in, out := &in.Content, &out.Content - *out = new(string) - **out = **in - } - if in.Name != nil { - in, out := &in.Name, &out.Name - *out = new(string) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LibvirtClusterProfilePackManifestInitParameters. -func (in *LibvirtClusterProfilePackManifestInitParameters) DeepCopy() *LibvirtClusterProfilePackManifestInitParameters { - if in == nil { - return nil - } - out := new(LibvirtClusterProfilePackManifestInitParameters) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *LibvirtClusterProfilePackManifestObservation) DeepCopyInto(out *LibvirtClusterProfilePackManifestObservation) { - *out = *in - if in.Content != nil { - in, out := &in.Content, &out.Content - *out = new(string) - **out = **in - } - if in.Name != nil { - in, out := &in.Name, &out.Name - *out = new(string) - **out = **in - } - if in.UID != nil { - in, out := &in.UID, &out.UID - *out = new(string) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LibvirtClusterProfilePackManifestObservation. -func (in *LibvirtClusterProfilePackManifestObservation) DeepCopy() *LibvirtClusterProfilePackManifestObservation { - if in == nil { - return nil - } - out := new(LibvirtClusterProfilePackManifestObservation) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *LibvirtClusterProfilePackManifestParameters) DeepCopyInto(out *LibvirtClusterProfilePackManifestParameters) { - *out = *in - if in.Content != nil { - in, out := &in.Content, &out.Content - *out = new(string) - **out = **in - } - if in.Name != nil { - in, out := &in.Name, &out.Name - *out = new(string) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LibvirtClusterProfilePackManifestParameters. -func (in *LibvirtClusterProfilePackManifestParameters) DeepCopy() *LibvirtClusterProfilePackManifestParameters { - if in == nil { - return nil - } - out := new(LibvirtClusterProfilePackManifestParameters) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *LibvirtClusterProfilePackObservation) DeepCopyInto(out *LibvirtClusterProfilePackObservation) { - *out = *in - if in.Manifest != nil { - in, out := &in.Manifest, &out.Manifest - *out = make([]LibvirtClusterProfilePackManifestObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.Name != nil { - in, out := &in.Name, &out.Name - *out = new(string) - **out = **in - } - if in.RegistryUID != nil { - in, out := &in.RegistryUID, &out.RegistryUID - *out = new(string) - **out = **in - } - if in.Tag != nil { - in, out := &in.Tag, &out.Tag - *out = new(string) - **out = **in - } - if in.Type != nil { - in, out := &in.Type, &out.Type - *out = new(string) - **out = **in - } - if in.UID != nil { - in, out := &in.UID, &out.UID - *out = new(string) - **out = **in - } - if in.Values != nil { - in, out := &in.Values, &out.Values - *out = new(string) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LibvirtClusterProfilePackObservation. -func (in *LibvirtClusterProfilePackObservation) DeepCopy() *LibvirtClusterProfilePackObservation { - if in == nil { - return nil - } - out := new(LibvirtClusterProfilePackObservation) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *LibvirtClusterProfilePackParameters) DeepCopyInto(out *LibvirtClusterProfilePackParameters) { - *out = *in - if in.Manifest != nil { - in, out := &in.Manifest, &out.Manifest - *out = make([]LibvirtClusterProfilePackManifestParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.Name != nil { - in, out := &in.Name, &out.Name - *out = new(string) - **out = **in - } - if in.RegistryUID != nil { - in, out := &in.RegistryUID, &out.RegistryUID - *out = new(string) - **out = **in - } - if in.Tag != nil { - in, out := &in.Tag, &out.Tag - *out = new(string) - **out = **in - } - if in.Type != nil { - in, out := &in.Type, &out.Type - *out = new(string) - **out = **in - } - if in.UID != nil { - in, out := &in.UID, &out.UID - *out = new(string) - **out = **in - } - if in.Values != nil { - in, out := &in.Values, &out.Values - *out = new(string) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LibvirtClusterProfilePackParameters. -func (in *LibvirtClusterProfilePackParameters) DeepCopy() *LibvirtClusterProfilePackParameters { - if in == nil { - return nil - } - out := new(LibvirtClusterProfilePackParameters) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *LibvirtClusterProfileParameters) DeepCopyInto(out *LibvirtClusterProfileParameters) { - *out = *in - if in.ID != nil { - in, out := &in.ID, &out.ID - *out = new(string) - **out = **in - } - if in.Pack != nil { - in, out := &in.Pack, &out.Pack - *out = make([]LibvirtClusterProfilePackParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LibvirtClusterProfileParameters. -func (in *LibvirtClusterProfileParameters) DeepCopy() *LibvirtClusterProfileParameters { - if in == nil { - return nil - } - out := new(LibvirtClusterProfileParameters) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *LibvirtClusterRbacBindingInitParameters) DeepCopyInto(out *LibvirtClusterRbacBindingInitParameters) { - *out = *in - if in.Namespace != nil { - in, out := &in.Namespace, &out.Namespace - *out = new(string) - **out = **in - } - if in.Role != nil { - in, out := &in.Role, &out.Role - *out = make(map[string]*string, len(*in)) - for key, val := range *in { - var outVal *string - if val == nil { - (*out)[key] = nil - } else { - inVal := (*in)[key] - in, out := &inVal, &outVal - *out = new(string) - **out = **in - } - (*out)[key] = outVal - } - } - if in.Subjects != nil { - in, out := &in.Subjects, &out.Subjects - *out = make([]LibvirtClusterRbacBindingSubjectsInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - 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 LibvirtClusterRbacBindingInitParameters. -func (in *LibvirtClusterRbacBindingInitParameters) DeepCopy() *LibvirtClusterRbacBindingInitParameters { - if in == nil { - return nil - } - out := new(LibvirtClusterRbacBindingInitParameters) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *LibvirtClusterRbacBindingObservation) DeepCopyInto(out *LibvirtClusterRbacBindingObservation) { - *out = *in - if in.Namespace != nil { - in, out := &in.Namespace, &out.Namespace - *out = new(string) - **out = **in - } - if in.Role != nil { - in, out := &in.Role, &out.Role - *out = make(map[string]*string, len(*in)) - for key, val := range *in { - var outVal *string - if val == nil { - (*out)[key] = nil - } else { - inVal := (*in)[key] - in, out := &inVal, &outVal - *out = new(string) - **out = **in - } - (*out)[key] = outVal - } - } - if in.Subjects != nil { - in, out := &in.Subjects, &out.Subjects - *out = make([]LibvirtClusterRbacBindingSubjectsObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - 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 LibvirtClusterRbacBindingObservation. -func (in *LibvirtClusterRbacBindingObservation) DeepCopy() *LibvirtClusterRbacBindingObservation { - if in == nil { - return nil - } - out := new(LibvirtClusterRbacBindingObservation) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *LibvirtClusterRbacBindingParameters) DeepCopyInto(out *LibvirtClusterRbacBindingParameters) { - *out = *in - if in.Namespace != nil { - in, out := &in.Namespace, &out.Namespace - *out = new(string) - **out = **in - } - if in.Role != nil { - in, out := &in.Role, &out.Role - *out = make(map[string]*string, len(*in)) - for key, val := range *in { - var outVal *string - if val == nil { - (*out)[key] = nil - } else { - inVal := (*in)[key] - in, out := &inVal, &outVal - *out = new(string) - **out = **in - } - (*out)[key] = outVal - } - } - if in.Subjects != nil { - in, out := &in.Subjects, &out.Subjects - *out = make([]LibvirtClusterRbacBindingSubjectsParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - 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 LibvirtClusterRbacBindingParameters. -func (in *LibvirtClusterRbacBindingParameters) DeepCopy() *LibvirtClusterRbacBindingParameters { - if in == nil { - return nil - } - out := new(LibvirtClusterRbacBindingParameters) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *LibvirtClusterRbacBindingSubjectsInitParameters) DeepCopyInto(out *LibvirtClusterRbacBindingSubjectsInitParameters) { - *out = *in - if in.Name != nil { - in, out := &in.Name, &out.Name - *out = new(string) - **out = **in - } - if in.Namespace != nil { - in, out := &in.Namespace, &out.Namespace - *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 LibvirtClusterRbacBindingSubjectsInitParameters. -func (in *LibvirtClusterRbacBindingSubjectsInitParameters) DeepCopy() *LibvirtClusterRbacBindingSubjectsInitParameters { - if in == nil { - return nil - } - out := new(LibvirtClusterRbacBindingSubjectsInitParameters) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *LibvirtClusterRbacBindingSubjectsObservation) DeepCopyInto(out *LibvirtClusterRbacBindingSubjectsObservation) { - *out = *in - if in.Name != nil { - in, out := &in.Name, &out.Name - *out = new(string) - **out = **in - } - if in.Namespace != nil { - in, out := &in.Namespace, &out.Namespace - *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 LibvirtClusterRbacBindingSubjectsObservation. -func (in *LibvirtClusterRbacBindingSubjectsObservation) DeepCopy() *LibvirtClusterRbacBindingSubjectsObservation { - if in == nil { - return nil - } - out := new(LibvirtClusterRbacBindingSubjectsObservation) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *LibvirtClusterRbacBindingSubjectsParameters) DeepCopyInto(out *LibvirtClusterRbacBindingSubjectsParameters) { - *out = *in - if in.Name != nil { - in, out := &in.Name, &out.Name - *out = new(string) - **out = **in - } - if in.Namespace != nil { - in, out := &in.Namespace, &out.Namespace - *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 LibvirtClusterRbacBindingSubjectsParameters. -func (in *LibvirtClusterRbacBindingSubjectsParameters) DeepCopy() *LibvirtClusterRbacBindingSubjectsParameters { - if in == nil { - return nil - } - out := new(LibvirtClusterRbacBindingSubjectsParameters) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *LibvirtHostConfigInitParameters) DeepCopyInto(out *LibvirtHostConfigInitParameters) { - *out = *in - if in.ExternalTrafficPolicy != nil { - in, out := &in.ExternalTrafficPolicy, &out.ExternalTrafficPolicy - *out = new(string) - **out = **in - } - if in.HostEndpointType != nil { - in, out := &in.HostEndpointType, &out.HostEndpointType - *out = new(string) - **out = **in - } - if in.IngressHost != nil { - in, out := &in.IngressHost, &out.IngressHost - *out = new(string) - **out = **in - } - if in.LoadBalancerSourceRanges != nil { - in, out := &in.LoadBalancerSourceRanges, &out.LoadBalancerSourceRanges - *out = new(string) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LibvirtHostConfigInitParameters. -func (in *LibvirtHostConfigInitParameters) DeepCopy() *LibvirtHostConfigInitParameters { - if in == nil { - return nil - } - out := new(LibvirtHostConfigInitParameters) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *LibvirtHostConfigObservation) DeepCopyInto(out *LibvirtHostConfigObservation) { - *out = *in - if in.ExternalTrafficPolicy != nil { - in, out := &in.ExternalTrafficPolicy, &out.ExternalTrafficPolicy - *out = new(string) - **out = **in - } - if in.HostEndpointType != nil { - in, out := &in.HostEndpointType, &out.HostEndpointType - *out = new(string) - **out = **in - } - if in.IngressHost != nil { - in, out := &in.IngressHost, &out.IngressHost - *out = new(string) - **out = **in - } - if in.LoadBalancerSourceRanges != nil { - in, out := &in.LoadBalancerSourceRanges, &out.LoadBalancerSourceRanges - *out = new(string) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LibvirtHostConfigObservation. -func (in *LibvirtHostConfigObservation) DeepCopy() *LibvirtHostConfigObservation { - if in == nil { - return nil - } - out := new(LibvirtHostConfigObservation) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *LibvirtHostConfigParameters) DeepCopyInto(out *LibvirtHostConfigParameters) { - *out = *in - if in.ExternalTrafficPolicy != nil { - in, out := &in.ExternalTrafficPolicy, &out.ExternalTrafficPolicy - *out = new(string) - **out = **in - } - if in.HostEndpointType != nil { - in, out := &in.HostEndpointType, &out.HostEndpointType - *out = new(string) - **out = **in - } - if in.IngressHost != nil { - in, out := &in.IngressHost, &out.IngressHost - *out = new(string) - **out = **in - } - if in.LoadBalancerSourceRanges != nil { - in, out := &in.LoadBalancerSourceRanges, &out.LoadBalancerSourceRanges - *out = new(string) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LibvirtHostConfigParameters. -func (in *LibvirtHostConfigParameters) DeepCopy() *LibvirtHostConfigParameters { - if in == nil { - return nil - } - out := new(LibvirtHostConfigParameters) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *LibvirtInitParameters) DeepCopyInto(out *LibvirtInitParameters) { - *out = *in - if in.ApplySetting != nil { - in, out := &in.ApplySetting, &out.ApplySetting - *out = new(string) - **out = **in - } - if in.BackupPolicy != nil { - in, out := &in.BackupPolicy, &out.BackupPolicy - *out = make([]LibvirtBackupPolicyInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.CloudAccountID != nil { - in, out := &in.CloudAccountID, &out.CloudAccountID - *out = new(string) - **out = **in - } - if in.CloudConfig != nil { - in, out := &in.CloudConfig, &out.CloudConfig - *out = make([]LibvirtCloudConfigInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.ClusterMetaAttribute != nil { - in, out := &in.ClusterMetaAttribute, &out.ClusterMetaAttribute - *out = new(string) - **out = **in - } - if in.ClusterProfile != nil { - in, out := &in.ClusterProfile, &out.ClusterProfile - *out = make([]LibvirtClusterProfileInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.ClusterRbacBinding != nil { - in, out := &in.ClusterRbacBinding, &out.ClusterRbacBinding - *out = make([]LibvirtClusterRbacBindingInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.Context != nil { - in, out := &in.Context, &out.Context - *out = new(string) - **out = **in - } - if in.Description != nil { - in, out := &in.Description, &out.Description - *out = new(string) - **out = **in - } - if in.ForceDelete != nil { - in, out := &in.ForceDelete, &out.ForceDelete - *out = new(bool) - **out = **in - } - if in.ForceDeleteDelay != nil { - in, out := &in.ForceDeleteDelay, &out.ForceDeleteDelay - *out = new(float64) - **out = **in - } - if in.HostConfig != nil { - in, out := &in.HostConfig, &out.HostConfig - *out = make([]LibvirtHostConfigInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.LocationConfig != nil { - in, out := &in.LocationConfig, &out.LocationConfig - *out = make([]LibvirtLocationConfigInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.MachinePool != nil { - in, out := &in.MachinePool, &out.MachinePool - *out = make([]LibvirtMachinePoolInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.Namespaces != nil { - in, out := &in.Namespaces, &out.Namespaces - *out = make([]LibvirtNamespacesInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.OsPatchAfter != nil { - in, out := &in.OsPatchAfter, &out.OsPatchAfter - *out = new(string) - **out = **in - } - if in.OsPatchOnBoot != nil { - in, out := &in.OsPatchOnBoot, &out.OsPatchOnBoot - *out = new(bool) - **out = **in - } - if in.OsPatchSchedule != nil { - in, out := &in.OsPatchSchedule, &out.OsPatchSchedule - *out = new(string) - **out = **in - } - if in.PauseAgentUpgrades != nil { - in, out := &in.PauseAgentUpgrades, &out.PauseAgentUpgrades - *out = new(string) - **out = **in - } - if in.ReviewRepaveState != nil { - in, out := &in.ReviewRepaveState, &out.ReviewRepaveState - *out = new(string) - **out = **in - } - if in.ScanPolicy != nil { - in, out := &in.ScanPolicy, &out.ScanPolicy - *out = make([]LibvirtScanPolicyInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.SkipCompletion != nil { - in, out := &in.SkipCompletion, &out.SkipCompletion - *out = new(bool) - **out = **in - } - if in.Tags != nil { - in, out := &in.Tags, &out.Tags - *out = make([]*string, len(*in)) - for i := range *in { - if (*in)[i] != nil { - in, out := &(*in)[i], &(*out)[i] - *out = new(string) - **out = **in - } - } - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LibvirtInitParameters. -func (in *LibvirtInitParameters) DeepCopy() *LibvirtInitParameters { - if in == nil { - return nil - } - out := new(LibvirtInitParameters) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *LibvirtList) DeepCopyInto(out *LibvirtList) { - *out = *in - out.TypeMeta = in.TypeMeta - in.ListMeta.DeepCopyInto(&out.ListMeta) - if in.Items != nil { - in, out := &in.Items, &out.Items - *out = make([]Libvirt, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LibvirtList. -func (in *LibvirtList) DeepCopy() *LibvirtList { - if in == nil { - return nil - } - out := new(LibvirtList) - in.DeepCopyInto(out) - return out -} - -// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *LibvirtList) 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 *LibvirtLocationConfigInitParameters) DeepCopyInto(out *LibvirtLocationConfigInitParameters) { - *out = *in - if in.CountryCode != nil { - in, out := &in.CountryCode, &out.CountryCode - *out = new(string) - **out = **in - } - if in.CountryName != nil { - in, out := &in.CountryName, &out.CountryName - *out = new(string) - **out = **in - } - if in.Latitude != nil { - in, out := &in.Latitude, &out.Latitude - *out = new(float64) - **out = **in - } - if in.Longitude != nil { - in, out := &in.Longitude, &out.Longitude - *out = new(float64) - **out = **in - } - if in.RegionCode != nil { - in, out := &in.RegionCode, &out.RegionCode - *out = new(string) - **out = **in - } - if in.RegionName != nil { - in, out := &in.RegionName, &out.RegionName - *out = new(string) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LibvirtLocationConfigInitParameters. -func (in *LibvirtLocationConfigInitParameters) DeepCopy() *LibvirtLocationConfigInitParameters { - if in == nil { - return nil - } - out := new(LibvirtLocationConfigInitParameters) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *LibvirtLocationConfigObservation) DeepCopyInto(out *LibvirtLocationConfigObservation) { - *out = *in - if in.CountryCode != nil { - in, out := &in.CountryCode, &out.CountryCode - *out = new(string) - **out = **in - } - if in.CountryName != nil { - in, out := &in.CountryName, &out.CountryName - *out = new(string) - **out = **in - } - if in.Latitude != nil { - in, out := &in.Latitude, &out.Latitude - *out = new(float64) - **out = **in - } - if in.Longitude != nil { - in, out := &in.Longitude, &out.Longitude - *out = new(float64) - **out = **in - } - if in.RegionCode != nil { - in, out := &in.RegionCode, &out.RegionCode - *out = new(string) - **out = **in - } - if in.RegionName != nil { - in, out := &in.RegionName, &out.RegionName - *out = new(string) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LibvirtLocationConfigObservation. -func (in *LibvirtLocationConfigObservation) DeepCopy() *LibvirtLocationConfigObservation { - if in == nil { - return nil - } - out := new(LibvirtLocationConfigObservation) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *LibvirtLocationConfigParameters) DeepCopyInto(out *LibvirtLocationConfigParameters) { - *out = *in - if in.CountryCode != nil { - in, out := &in.CountryCode, &out.CountryCode - *out = new(string) - **out = **in - } - if in.CountryName != nil { - in, out := &in.CountryName, &out.CountryName - *out = new(string) - **out = **in - } - if in.Latitude != nil { - in, out := &in.Latitude, &out.Latitude - *out = new(float64) - **out = **in - } - if in.Longitude != nil { - in, out := &in.Longitude, &out.Longitude - *out = new(float64) - **out = **in - } - if in.RegionCode != nil { - in, out := &in.RegionCode, &out.RegionCode - *out = new(string) - **out = **in - } - if in.RegionName != nil { - in, out := &in.RegionName, &out.RegionName - *out = new(string) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LibvirtLocationConfigParameters. -func (in *LibvirtLocationConfigParameters) DeepCopy() *LibvirtLocationConfigParameters { - if in == nil { - return nil - } - out := new(LibvirtLocationConfigParameters) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *LibvirtMachinePoolInitParameters) DeepCopyInto(out *LibvirtMachinePoolInitParameters) { - *out = *in - if in.AdditionalLabels != nil { - in, out := &in.AdditionalLabels, &out.AdditionalLabels - *out = make(map[string]*string, len(*in)) - for key, val := range *in { - var outVal *string - if val == nil { - (*out)[key] = nil - } else { - inVal := (*in)[key] - in, out := &inVal, &outVal - *out = new(string) - **out = **in - } - (*out)[key] = outVal - } - } - if in.ControlPlane != nil { - in, out := &in.ControlPlane, &out.ControlPlane - *out = new(bool) - **out = **in - } - if in.ControlPlaneAsWorker != nil { - in, out := &in.ControlPlaneAsWorker, &out.ControlPlaneAsWorker - *out = new(bool) - **out = **in - } - if in.Count != nil { - in, out := &in.Count, &out.Count - *out = new(float64) - **out = **in - } - if in.InstanceType != nil { - in, out := &in.InstanceType, &out.InstanceType - *out = make([]MachinePoolInstanceTypeInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.Name != nil { - in, out := &in.Name, &out.Name - *out = new(string) - **out = **in - } - if in.Node != nil { - in, out := &in.Node, &out.Node - *out = make([]LibvirtMachinePoolNodeInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.NodeRepaveInterval != nil { - in, out := &in.NodeRepaveInterval, &out.NodeRepaveInterval - *out = new(float64) - **out = **in - } - if in.Placements != nil { - in, out := &in.Placements, &out.Placements - *out = make([]PlacementsInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.Taints != nil { - in, out := &in.Taints, &out.Taints - *out = make([]LibvirtMachinePoolTaintsInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.UpdateStrategy != nil { - in, out := &in.UpdateStrategy, &out.UpdateStrategy - *out = new(string) - **out = **in - } - if in.XslTemplate != nil { - in, out := &in.XslTemplate, &out.XslTemplate - *out = new(string) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LibvirtMachinePoolInitParameters. -func (in *LibvirtMachinePoolInitParameters) DeepCopy() *LibvirtMachinePoolInitParameters { - if in == nil { - return nil - } - out := new(LibvirtMachinePoolInitParameters) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *LibvirtMachinePoolNodeInitParameters) DeepCopyInto(out *LibvirtMachinePoolNodeInitParameters) { - *out = *in - if in.Action != nil { - in, out := &in.Action, &out.Action - *out = new(string) - **out = **in - } - if in.NodeID != nil { - in, out := &in.NodeID, &out.NodeID - *out = new(string) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LibvirtMachinePoolNodeInitParameters. -func (in *LibvirtMachinePoolNodeInitParameters) DeepCopy() *LibvirtMachinePoolNodeInitParameters { - if in == nil { - return nil - } - out := new(LibvirtMachinePoolNodeInitParameters) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *LibvirtMachinePoolNodeObservation) DeepCopyInto(out *LibvirtMachinePoolNodeObservation) { - *out = *in - if in.Action != nil { - in, out := &in.Action, &out.Action - *out = new(string) - **out = **in - } - if in.NodeID != nil { - in, out := &in.NodeID, &out.NodeID - *out = new(string) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LibvirtMachinePoolNodeObservation. -func (in *LibvirtMachinePoolNodeObservation) DeepCopy() *LibvirtMachinePoolNodeObservation { - if in == nil { - return nil - } - out := new(LibvirtMachinePoolNodeObservation) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *LibvirtMachinePoolNodeParameters) DeepCopyInto(out *LibvirtMachinePoolNodeParameters) { - *out = *in - if in.Action != nil { - in, out := &in.Action, &out.Action - *out = new(string) - **out = **in - } - if in.NodeID != nil { - in, out := &in.NodeID, &out.NodeID - *out = new(string) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LibvirtMachinePoolNodeParameters. -func (in *LibvirtMachinePoolNodeParameters) DeepCopy() *LibvirtMachinePoolNodeParameters { - if in == nil { - return nil - } - out := new(LibvirtMachinePoolNodeParameters) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *LibvirtMachinePoolObservation) DeepCopyInto(out *LibvirtMachinePoolObservation) { - *out = *in - if in.AdditionalLabels != nil { - in, out := &in.AdditionalLabels, &out.AdditionalLabels - *out = make(map[string]*string, len(*in)) - for key, val := range *in { - var outVal *string - if val == nil { - (*out)[key] = nil - } else { - inVal := (*in)[key] - in, out := &inVal, &outVal - *out = new(string) - **out = **in - } - (*out)[key] = outVal - } - } - if in.ControlPlane != nil { - in, out := &in.ControlPlane, &out.ControlPlane - *out = new(bool) - **out = **in - } - if in.ControlPlaneAsWorker != nil { - in, out := &in.ControlPlaneAsWorker, &out.ControlPlaneAsWorker - *out = new(bool) - **out = **in - } - if in.Count != nil { - in, out := &in.Count, &out.Count - *out = new(float64) - **out = **in - } - if in.InstanceType != nil { - in, out := &in.InstanceType, &out.InstanceType - *out = make([]MachinePoolInstanceTypeObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.Name != nil { - in, out := &in.Name, &out.Name - *out = new(string) - **out = **in - } - if in.Node != nil { - in, out := &in.Node, &out.Node - *out = make([]LibvirtMachinePoolNodeObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.NodeRepaveInterval != nil { - in, out := &in.NodeRepaveInterval, &out.NodeRepaveInterval - *out = new(float64) - **out = **in - } - if in.Placements != nil { - in, out := &in.Placements, &out.Placements - *out = make([]PlacementsObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.Taints != nil { - in, out := &in.Taints, &out.Taints - *out = make([]LibvirtMachinePoolTaintsObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.UpdateStrategy != nil { - in, out := &in.UpdateStrategy, &out.UpdateStrategy - *out = new(string) - **out = **in - } - if in.XslTemplate != nil { - in, out := &in.XslTemplate, &out.XslTemplate - *out = new(string) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LibvirtMachinePoolObservation. -func (in *LibvirtMachinePoolObservation) DeepCopy() *LibvirtMachinePoolObservation { - if in == nil { - return nil - } - out := new(LibvirtMachinePoolObservation) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *LibvirtMachinePoolParameters) DeepCopyInto(out *LibvirtMachinePoolParameters) { - *out = *in - if in.AdditionalLabels != nil { - in, out := &in.AdditionalLabels, &out.AdditionalLabels - *out = make(map[string]*string, len(*in)) - for key, val := range *in { - var outVal *string - if val == nil { - (*out)[key] = nil - } else { - inVal := (*in)[key] - in, out := &inVal, &outVal - *out = new(string) - **out = **in - } - (*out)[key] = outVal - } - } - if in.ControlPlane != nil { - in, out := &in.ControlPlane, &out.ControlPlane - *out = new(bool) - **out = **in - } - if in.ControlPlaneAsWorker != nil { - in, out := &in.ControlPlaneAsWorker, &out.ControlPlaneAsWorker - *out = new(bool) - **out = **in - } - if in.Count != nil { - in, out := &in.Count, &out.Count - *out = new(float64) - **out = **in - } - if in.InstanceType != nil { - in, out := &in.InstanceType, &out.InstanceType - *out = make([]MachinePoolInstanceTypeParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.Name != nil { - in, out := &in.Name, &out.Name - *out = new(string) - **out = **in - } - if in.Node != nil { - in, out := &in.Node, &out.Node - *out = make([]LibvirtMachinePoolNodeParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.NodeRepaveInterval != nil { - in, out := &in.NodeRepaveInterval, &out.NodeRepaveInterval - *out = new(float64) - **out = **in - } - if in.Placements != nil { - in, out := &in.Placements, &out.Placements - *out = make([]PlacementsParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.Taints != nil { - in, out := &in.Taints, &out.Taints - *out = make([]LibvirtMachinePoolTaintsParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.UpdateStrategy != nil { - in, out := &in.UpdateStrategy, &out.UpdateStrategy - *out = new(string) - **out = **in - } - if in.XslTemplate != nil { - in, out := &in.XslTemplate, &out.XslTemplate - *out = new(string) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LibvirtMachinePoolParameters. -func (in *LibvirtMachinePoolParameters) DeepCopy() *LibvirtMachinePoolParameters { - if in == nil { - return nil - } - out := new(LibvirtMachinePoolParameters) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *LibvirtMachinePoolTaintsInitParameters) DeepCopyInto(out *LibvirtMachinePoolTaintsInitParameters) { - *out = *in - if in.Effect != nil { - in, out := &in.Effect, &out.Effect - *out = new(string) - **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 LibvirtMachinePoolTaintsInitParameters. -func (in *LibvirtMachinePoolTaintsInitParameters) DeepCopy() *LibvirtMachinePoolTaintsInitParameters { - if in == nil { - return nil - } - out := new(LibvirtMachinePoolTaintsInitParameters) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *LibvirtMachinePoolTaintsObservation) DeepCopyInto(out *LibvirtMachinePoolTaintsObservation) { - *out = *in - if in.Effect != nil { - in, out := &in.Effect, &out.Effect - *out = new(string) - **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 LibvirtMachinePoolTaintsObservation. -func (in *LibvirtMachinePoolTaintsObservation) DeepCopy() *LibvirtMachinePoolTaintsObservation { - if in == nil { - return nil - } - out := new(LibvirtMachinePoolTaintsObservation) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *LibvirtMachinePoolTaintsParameters) DeepCopyInto(out *LibvirtMachinePoolTaintsParameters) { - *out = *in - if in.Effect != nil { - in, out := &in.Effect, &out.Effect - *out = new(string) - **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 LibvirtMachinePoolTaintsParameters. -func (in *LibvirtMachinePoolTaintsParameters) DeepCopy() *LibvirtMachinePoolTaintsParameters { - if in == nil { - return nil - } - out := new(LibvirtMachinePoolTaintsParameters) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *LibvirtNamespacesInitParameters) DeepCopyInto(out *LibvirtNamespacesInitParameters) { - *out = *in - if in.ImagesBlacklist != nil { - in, out := &in.ImagesBlacklist, &out.ImagesBlacklist - *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.Name != nil { - in, out := &in.Name, &out.Name - *out = new(string) - **out = **in - } - if in.ResourceAllocation != nil { - in, out := &in.ResourceAllocation, &out.ResourceAllocation - *out = make(map[string]*string, len(*in)) - for key, val := range *in { - var outVal *string - if val == nil { - (*out)[key] = nil - } else { - inVal := (*in)[key] - in, out := &inVal, &outVal - *out = new(string) - **out = **in - } - (*out)[key] = outVal - } - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LibvirtNamespacesInitParameters. -func (in *LibvirtNamespacesInitParameters) DeepCopy() *LibvirtNamespacesInitParameters { - if in == nil { - return nil - } - out := new(LibvirtNamespacesInitParameters) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *LibvirtNamespacesObservation) DeepCopyInto(out *LibvirtNamespacesObservation) { - *out = *in - if in.ImagesBlacklist != nil { - in, out := &in.ImagesBlacklist, &out.ImagesBlacklist - *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.Name != nil { - in, out := &in.Name, &out.Name - *out = new(string) - **out = **in - } - if in.ResourceAllocation != nil { - in, out := &in.ResourceAllocation, &out.ResourceAllocation - *out = make(map[string]*string, len(*in)) - for key, val := range *in { - var outVal *string - if val == nil { - (*out)[key] = nil - } else { - inVal := (*in)[key] - in, out := &inVal, &outVal - *out = new(string) - **out = **in - } - (*out)[key] = outVal - } - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LibvirtNamespacesObservation. -func (in *LibvirtNamespacesObservation) DeepCopy() *LibvirtNamespacesObservation { - if in == nil { - return nil - } - out := new(LibvirtNamespacesObservation) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *LibvirtNamespacesParameters) DeepCopyInto(out *LibvirtNamespacesParameters) { - *out = *in - if in.ImagesBlacklist != nil { - in, out := &in.ImagesBlacklist, &out.ImagesBlacklist - *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.Name != nil { - in, out := &in.Name, &out.Name - *out = new(string) - **out = **in - } - if in.ResourceAllocation != nil { - in, out := &in.ResourceAllocation, &out.ResourceAllocation - *out = make(map[string]*string, len(*in)) - for key, val := range *in { - var outVal *string - if val == nil { - (*out)[key] = nil - } else { - inVal := (*in)[key] - in, out := &inVal, &outVal - *out = new(string) - **out = **in - } - (*out)[key] = outVal - } - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LibvirtNamespacesParameters. -func (in *LibvirtNamespacesParameters) DeepCopy() *LibvirtNamespacesParameters { - if in == nil { - return nil - } - out := new(LibvirtNamespacesParameters) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *LibvirtObservation) DeepCopyInto(out *LibvirtObservation) { - *out = *in - if in.AdminKubeConfig != nil { - in, out := &in.AdminKubeConfig, &out.AdminKubeConfig - *out = new(string) - **out = **in - } - if in.ApplySetting != nil { - in, out := &in.ApplySetting, &out.ApplySetting - *out = new(string) - **out = **in - } - if in.BackupPolicy != nil { - in, out := &in.BackupPolicy, &out.BackupPolicy - *out = make([]LibvirtBackupPolicyObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.CloudAccountID != nil { - in, out := &in.CloudAccountID, &out.CloudAccountID - *out = new(string) - **out = **in - } - if in.CloudConfig != nil { - in, out := &in.CloudConfig, &out.CloudConfig - *out = make([]LibvirtCloudConfigObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.CloudConfigID != nil { - in, out := &in.CloudConfigID, &out.CloudConfigID - *out = new(string) - **out = **in - } - if in.ClusterMetaAttribute != nil { - in, out := &in.ClusterMetaAttribute, &out.ClusterMetaAttribute - *out = new(string) - **out = **in - } - if in.ClusterProfile != nil { - in, out := &in.ClusterProfile, &out.ClusterProfile - *out = make([]LibvirtClusterProfileObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.ClusterRbacBinding != nil { - in, out := &in.ClusterRbacBinding, &out.ClusterRbacBinding - *out = make([]LibvirtClusterRbacBindingObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.Context != nil { - in, out := &in.Context, &out.Context - *out = new(string) - **out = **in - } - if in.Description != nil { - in, out := &in.Description, &out.Description - *out = new(string) - **out = **in - } - if in.ForceDelete != nil { - in, out := &in.ForceDelete, &out.ForceDelete - *out = new(bool) - **out = **in - } - if in.ForceDeleteDelay != nil { - in, out := &in.ForceDeleteDelay, &out.ForceDeleteDelay - *out = new(float64) - **out = **in - } - if in.HostConfig != nil { - in, out := &in.HostConfig, &out.HostConfig - *out = make([]LibvirtHostConfigObservation, 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.Kubeconfig != nil { - in, out := &in.Kubeconfig, &out.Kubeconfig - *out = new(string) - **out = **in - } - if in.LocationConfig != nil { - in, out := &in.LocationConfig, &out.LocationConfig - *out = make([]LibvirtLocationConfigObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.MachinePool != nil { - in, out := &in.MachinePool, &out.MachinePool - *out = make([]LibvirtMachinePoolObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.Namespaces != nil { - in, out := &in.Namespaces, &out.Namespaces - *out = make([]LibvirtNamespacesObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.OsPatchAfter != nil { - in, out := &in.OsPatchAfter, &out.OsPatchAfter - *out = new(string) - **out = **in - } - if in.OsPatchOnBoot != nil { - in, out := &in.OsPatchOnBoot, &out.OsPatchOnBoot - *out = new(bool) - **out = **in - } - if in.OsPatchSchedule != nil { - in, out := &in.OsPatchSchedule, &out.OsPatchSchedule - *out = new(string) - **out = **in - } - if in.PauseAgentUpgrades != nil { - in, out := &in.PauseAgentUpgrades, &out.PauseAgentUpgrades - *out = new(string) - **out = **in - } - if in.ReviewRepaveState != nil { - in, out := &in.ReviewRepaveState, &out.ReviewRepaveState - *out = new(string) - **out = **in - } - if in.ScanPolicy != nil { - in, out := &in.ScanPolicy, &out.ScanPolicy - *out = make([]LibvirtScanPolicyObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.SkipCompletion != nil { - in, out := &in.SkipCompletion, &out.SkipCompletion - *out = new(bool) - **out = **in - } - if in.Tags != nil { - in, out := &in.Tags, &out.Tags - *out = make([]*string, len(*in)) - for i := range *in { - if (*in)[i] != nil { - in, out := &(*in)[i], &(*out)[i] - *out = new(string) - **out = **in - } - } - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LibvirtObservation. -func (in *LibvirtObservation) DeepCopy() *LibvirtObservation { - if in == nil { - return nil - } - out := new(LibvirtObservation) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *LibvirtParameters) DeepCopyInto(out *LibvirtParameters) { - *out = *in - if in.ApplySetting != nil { - in, out := &in.ApplySetting, &out.ApplySetting - *out = new(string) - **out = **in - } - if in.BackupPolicy != nil { - in, out := &in.BackupPolicy, &out.BackupPolicy - *out = make([]LibvirtBackupPolicyParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.CloudAccountID != nil { - in, out := &in.CloudAccountID, &out.CloudAccountID - *out = new(string) - **out = **in - } - if in.CloudConfig != nil { - in, out := &in.CloudConfig, &out.CloudConfig - *out = make([]LibvirtCloudConfigParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.ClusterMetaAttribute != nil { - in, out := &in.ClusterMetaAttribute, &out.ClusterMetaAttribute - *out = new(string) - **out = **in - } - if in.ClusterProfile != nil { - in, out := &in.ClusterProfile, &out.ClusterProfile - *out = make([]LibvirtClusterProfileParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.ClusterRbacBinding != nil { - in, out := &in.ClusterRbacBinding, &out.ClusterRbacBinding - *out = make([]LibvirtClusterRbacBindingParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.Context != nil { - in, out := &in.Context, &out.Context - *out = new(string) - **out = **in - } - if in.Description != nil { - in, out := &in.Description, &out.Description - *out = new(string) - **out = **in - } - if in.ForceDelete != nil { - in, out := &in.ForceDelete, &out.ForceDelete - *out = new(bool) - **out = **in - } - if in.ForceDeleteDelay != nil { - in, out := &in.ForceDeleteDelay, &out.ForceDeleteDelay - *out = new(float64) - **out = **in - } - if in.HostConfig != nil { - in, out := &in.HostConfig, &out.HostConfig - *out = make([]LibvirtHostConfigParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.LocationConfig != nil { - in, out := &in.LocationConfig, &out.LocationConfig - *out = make([]LibvirtLocationConfigParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.MachinePool != nil { - in, out := &in.MachinePool, &out.MachinePool - *out = make([]LibvirtMachinePoolParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.Namespaces != nil { - in, out := &in.Namespaces, &out.Namespaces - *out = make([]LibvirtNamespacesParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.OsPatchAfter != nil { - in, out := &in.OsPatchAfter, &out.OsPatchAfter - *out = new(string) - **out = **in - } - if in.OsPatchOnBoot != nil { - in, out := &in.OsPatchOnBoot, &out.OsPatchOnBoot - *out = new(bool) - **out = **in - } - if in.OsPatchSchedule != nil { - in, out := &in.OsPatchSchedule, &out.OsPatchSchedule - *out = new(string) - **out = **in - } - if in.PauseAgentUpgrades != nil { - in, out := &in.PauseAgentUpgrades, &out.PauseAgentUpgrades - *out = new(string) - **out = **in - } - if in.ReviewRepaveState != nil { - in, out := &in.ReviewRepaveState, &out.ReviewRepaveState - *out = new(string) - **out = **in - } - if in.ScanPolicy != nil { - in, out := &in.ScanPolicy, &out.ScanPolicy - *out = make([]LibvirtScanPolicyParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.SkipCompletion != nil { - in, out := &in.SkipCompletion, &out.SkipCompletion - *out = new(bool) - **out = **in - } - if in.Tags != nil { - in, out := &in.Tags, &out.Tags - *out = make([]*string, len(*in)) - for i := range *in { - if (*in)[i] != nil { - in, out := &(*in)[i], &(*out)[i] - *out = new(string) - **out = **in - } - } - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LibvirtParameters. -func (in *LibvirtParameters) DeepCopy() *LibvirtParameters { - if in == nil { - return nil - } - out := new(LibvirtParameters) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *LibvirtScanPolicyInitParameters) DeepCopyInto(out *LibvirtScanPolicyInitParameters) { - *out = *in - if in.ConfigurationScanSchedule != nil { - in, out := &in.ConfigurationScanSchedule, &out.ConfigurationScanSchedule - *out = new(string) - **out = **in - } - if in.ConformanceScanSchedule != nil { - in, out := &in.ConformanceScanSchedule, &out.ConformanceScanSchedule - *out = new(string) - **out = **in - } - if in.PenetrationScanSchedule != nil { - in, out := &in.PenetrationScanSchedule, &out.PenetrationScanSchedule - *out = new(string) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LibvirtScanPolicyInitParameters. -func (in *LibvirtScanPolicyInitParameters) DeepCopy() *LibvirtScanPolicyInitParameters { - if in == nil { - return nil - } - out := new(LibvirtScanPolicyInitParameters) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *LibvirtScanPolicyObservation) DeepCopyInto(out *LibvirtScanPolicyObservation) { - *out = *in - if in.ConfigurationScanSchedule != nil { - in, out := &in.ConfigurationScanSchedule, &out.ConfigurationScanSchedule - *out = new(string) - **out = **in - } - if in.ConformanceScanSchedule != nil { - in, out := &in.ConformanceScanSchedule, &out.ConformanceScanSchedule - *out = new(string) - **out = **in - } - if in.PenetrationScanSchedule != nil { - in, out := &in.PenetrationScanSchedule, &out.PenetrationScanSchedule - *out = new(string) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LibvirtScanPolicyObservation. -func (in *LibvirtScanPolicyObservation) DeepCopy() *LibvirtScanPolicyObservation { - if in == nil { - return nil - } - out := new(LibvirtScanPolicyObservation) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *LibvirtScanPolicyParameters) DeepCopyInto(out *LibvirtScanPolicyParameters) { - *out = *in - if in.ConfigurationScanSchedule != nil { - in, out := &in.ConfigurationScanSchedule, &out.ConfigurationScanSchedule - *out = new(string) - **out = **in - } - if in.ConformanceScanSchedule != nil { - in, out := &in.ConformanceScanSchedule, &out.ConformanceScanSchedule - *out = new(string) - **out = **in - } - if in.PenetrationScanSchedule != nil { - in, out := &in.PenetrationScanSchedule, &out.PenetrationScanSchedule - *out = new(string) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LibvirtScanPolicyParameters. -func (in *LibvirtScanPolicyParameters) DeepCopy() *LibvirtScanPolicyParameters { - if in == nil { - return nil - } - out := new(LibvirtScanPolicyParameters) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *LibvirtSpec) DeepCopyInto(out *LibvirtSpec) { - *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 LibvirtSpec. -func (in *LibvirtSpec) DeepCopy() *LibvirtSpec { - if in == nil { - return nil - } - out := new(LibvirtSpec) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *LibvirtStatus) DeepCopyInto(out *LibvirtStatus) { - *out = *in - in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) - in.AtProvider.DeepCopyInto(&out.AtProvider) -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LibvirtStatus. -func (in *LibvirtStatus) DeepCopy() *LibvirtStatus { - if in == nil { - return nil - } - out := new(LibvirtStatus) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *LocationConfigInitParameters) DeepCopyInto(out *LocationConfigInitParameters) { - *out = *in -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocationConfigInitParameters. -func (in *LocationConfigInitParameters) DeepCopy() *LocationConfigInitParameters { - if in == nil { - return nil - } - out := new(LocationConfigInitParameters) + out := new(LocationConfigInitParameters) in.DeepCopyInto(out) return out } @@ -25313,7 +22560,7 @@ func (in *MaasMachinePoolInitParameters) DeepCopyInto(out *MaasMachinePoolInitPa } if in.InstanceType != nil { in, out := &in.InstanceType, &out.InstanceType - *out = make([]MaasMachinePoolInstanceTypeInitParameters, len(*in)) + *out = make([]MachinePoolInstanceTypeInitParameters, len(*in)) for i := range *in { (*in)[i].DeepCopyInto(&(*out)[i]) } @@ -25336,128 +22583,53 @@ func (in *MaasMachinePoolInitParameters) DeepCopyInto(out *MaasMachinePoolInitPa if in.Node != nil { in, out := &in.Node, &out.Node *out = make([]MaasMachinePoolNodeInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.NodeRepaveInterval != nil { - in, out := &in.NodeRepaveInterval, &out.NodeRepaveInterval - *out = new(float64) - **out = **in - } - if in.NodeTags != nil { - in, out := &in.NodeTags, &out.NodeTags - *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.Placement != nil { - in, out := &in.Placement, &out.Placement - *out = make([]MachinePoolPlacementInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.Taints != nil { - in, out := &in.Taints, &out.Taints - *out = make([]MaasMachinePoolTaintsInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.UpdateStrategy != nil { - in, out := &in.UpdateStrategy, &out.UpdateStrategy - *out = new(string) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaasMachinePoolInitParameters. -func (in *MaasMachinePoolInitParameters) DeepCopy() *MaasMachinePoolInitParameters { - if in == nil { - return nil - } - out := new(MaasMachinePoolInitParameters) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *MaasMachinePoolInstanceTypeInitParameters) DeepCopyInto(out *MaasMachinePoolInstanceTypeInitParameters) { - *out = *in - if in.MinCPU != nil { - in, out := &in.MinCPU, &out.MinCPU - *out = new(float64) - **out = **in - } - if in.MinMemoryMb != nil { - in, out := &in.MinMemoryMb, &out.MinMemoryMb - *out = new(float64) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaasMachinePoolInstanceTypeInitParameters. -func (in *MaasMachinePoolInstanceTypeInitParameters) DeepCopy() *MaasMachinePoolInstanceTypeInitParameters { - if in == nil { - return nil - } - out := new(MaasMachinePoolInstanceTypeInitParameters) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *MaasMachinePoolInstanceTypeObservation) DeepCopyInto(out *MaasMachinePoolInstanceTypeObservation) { - *out = *in - if in.MinCPU != nil { - in, out := &in.MinCPU, &out.MinCPU - *out = new(float64) - **out = **in + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } } - if in.MinMemoryMb != nil { - in, out := &in.MinMemoryMb, &out.MinMemoryMb + if in.NodeRepaveInterval != nil { + in, out := &in.NodeRepaveInterval, &out.NodeRepaveInterval *out = new(float64) **out = **in } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaasMachinePoolInstanceTypeObservation. -func (in *MaasMachinePoolInstanceTypeObservation) DeepCopy() *MaasMachinePoolInstanceTypeObservation { - if in == nil { - return nil + if in.NodeTags != nil { + in, out := &in.NodeTags, &out.NodeTags + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } } - out := new(MaasMachinePoolInstanceTypeObservation) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *MaasMachinePoolInstanceTypeParameters) DeepCopyInto(out *MaasMachinePoolInstanceTypeParameters) { - *out = *in - if in.MinCPU != nil { - in, out := &in.MinCPU, &out.MinCPU - *out = new(float64) - **out = **in + if in.Placement != nil { + in, out := &in.Placement, &out.Placement + *out = make([]MachinePoolPlacementInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } } - if in.MinMemoryMb != nil { - in, out := &in.MinMemoryMb, &out.MinMemoryMb - *out = new(float64) + if in.Taints != nil { + in, out := &in.Taints, &out.Taints + *out = make([]MaasMachinePoolTaintsInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.UpdateStrategy != nil { + in, out := &in.UpdateStrategy, &out.UpdateStrategy + *out = new(string) **out = **in } } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaasMachinePoolInstanceTypeParameters. -func (in *MaasMachinePoolInstanceTypeParameters) DeepCopy() *MaasMachinePoolInstanceTypeParameters { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaasMachinePoolInitParameters. +func (in *MaasMachinePoolInitParameters) DeepCopy() *MaasMachinePoolInitParameters { if in == nil { return nil } - out := new(MaasMachinePoolInstanceTypeParameters) + out := new(MaasMachinePoolInitParameters) in.DeepCopyInto(out) return out } @@ -25584,7 +22756,7 @@ func (in *MaasMachinePoolObservation) DeepCopyInto(out *MaasMachinePoolObservati } if in.InstanceType != nil { in, out := &in.InstanceType, &out.InstanceType - *out = make([]MaasMachinePoolInstanceTypeObservation, len(*in)) + *out = make([]MachinePoolInstanceTypeObservation, len(*in)) for i := range *in { (*in)[i].DeepCopyInto(&(*out)[i]) } @@ -25705,7 +22877,7 @@ func (in *MaasMachinePoolParameters) DeepCopyInto(out *MaasMachinePoolParameters } if in.InstanceType != nil { in, out := &in.InstanceType, &out.InstanceType - *out = make([]MaasMachinePoolInstanceTypeParameters, len(*in)) + *out = make([]MachinePoolInstanceTypeParameters, len(*in)) for i := range *in { (*in)[i].DeepCopyInto(&(*out)[i]) } @@ -26556,42 +23728,13 @@ func (in *MachinePoolInitParameters) DeepCopy() *MachinePoolInitParameters { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *MachinePoolInstanceTypeInitParameters) DeepCopyInto(out *MachinePoolInstanceTypeInitParameters) { *out = *in - if in.AttachedDisks != nil { - in, out := &in.AttachedDisks, &out.AttachedDisks - *out = make([]AttachedDisksInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.CPU != nil { - in, out := &in.CPU, &out.CPU - *out = new(float64) - **out = **in - } - if in.CachePassthrough != nil { - in, out := &in.CachePassthrough, &out.CachePassthrough - *out = new(bool) - **out = **in - } - if in.CpusSets != nil { - in, out := &in.CpusSets, &out.CpusSets - *out = new(string) - **out = **in - } - if in.DiskSizeGb != nil { - in, out := &in.DiskSizeGb, &out.DiskSizeGb + if in.MinCPU != nil { + in, out := &in.MinCPU, &out.MinCPU *out = new(float64) **out = **in } - if in.GpuConfig != nil { - in, out := &in.GpuConfig, &out.GpuConfig - *out = make([]GpuConfigInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.MemoryMb != nil { - in, out := &in.MemoryMb, &out.MemoryMb + if in.MinMemoryMb != nil { + in, out := &in.MinMemoryMb, &out.MinMemoryMb *out = new(float64) **out = **in } @@ -26610,42 +23753,13 @@ func (in *MachinePoolInstanceTypeInitParameters) DeepCopy() *MachinePoolInstance // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *MachinePoolInstanceTypeObservation) DeepCopyInto(out *MachinePoolInstanceTypeObservation) { *out = *in - if in.AttachedDisks != nil { - in, out := &in.AttachedDisks, &out.AttachedDisks - *out = make([]AttachedDisksObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.CPU != nil { - in, out := &in.CPU, &out.CPU - *out = new(float64) - **out = **in - } - if in.CachePassthrough != nil { - in, out := &in.CachePassthrough, &out.CachePassthrough - *out = new(bool) - **out = **in - } - if in.CpusSets != nil { - in, out := &in.CpusSets, &out.CpusSets - *out = new(string) - **out = **in - } - if in.DiskSizeGb != nil { - in, out := &in.DiskSizeGb, &out.DiskSizeGb + if in.MinCPU != nil { + in, out := &in.MinCPU, &out.MinCPU *out = new(float64) **out = **in } - if in.GpuConfig != nil { - in, out := &in.GpuConfig, &out.GpuConfig - *out = make([]GpuConfigObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.MemoryMb != nil { - in, out := &in.MemoryMb, &out.MemoryMb + if in.MinMemoryMb != nil { + in, out := &in.MinMemoryMb, &out.MinMemoryMb *out = new(float64) **out = **in } @@ -26664,42 +23778,13 @@ func (in *MachinePoolInstanceTypeObservation) DeepCopy() *MachinePoolInstanceTyp // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *MachinePoolInstanceTypeParameters) DeepCopyInto(out *MachinePoolInstanceTypeParameters) { *out = *in - if in.AttachedDisks != nil { - in, out := &in.AttachedDisks, &out.AttachedDisks - *out = make([]AttachedDisksParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.CPU != nil { - in, out := &in.CPU, &out.CPU - *out = new(float64) - **out = **in - } - if in.CachePassthrough != nil { - in, out := &in.CachePassthrough, &out.CachePassthrough - *out = new(bool) - **out = **in - } - if in.CpusSets != nil { - in, out := &in.CpusSets, &out.CpusSets - *out = new(string) - **out = **in - } - if in.DiskSizeGb != nil { - in, out := &in.DiskSizeGb, &out.DiskSizeGb + if in.MinCPU != nil { + in, out := &in.MinCPU, &out.MinCPU *out = new(float64) **out = **in } - if in.GpuConfig != nil { - in, out := &in.GpuConfig, &out.GpuConfig - *out = make([]GpuConfigParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.MemoryMb != nil { - in, out := &in.MemoryMb, &out.MemoryMb + if in.MinMemoryMb != nil { + in, out := &in.MinMemoryMb, &out.MinMemoryMb *out = new(float64) **out = **in } @@ -30232,177 +27317,6 @@ func (in *PlacementParameters) DeepCopy() *PlacementParameters { return out } -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *PlacementsInitParameters) DeepCopyInto(out *PlacementsInitParameters) { - *out = *in - if in.ApplianceID != nil { - in, out := &in.ApplianceID, &out.ApplianceID - *out = new(string) - **out = **in - } - if in.DataStoragePool != nil { - in, out := &in.DataStoragePool, &out.DataStoragePool - *out = new(string) - **out = **in - } - if in.GpuDevice != nil { - in, out := &in.GpuDevice, &out.GpuDevice - *out = make([]GpuDeviceInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.ImageStoragePool != nil { - in, out := &in.ImageStoragePool, &out.ImageStoragePool - *out = new(string) - **out = **in - } - if in.Network != nil { - in, out := &in.Network, &out.Network - *out = new(string) - **out = **in - } - if in.NetworkNames != nil { - in, out := &in.NetworkNames, &out.NetworkNames - *out = new(string) - **out = **in - } - if in.NetworkType != nil { - in, out := &in.NetworkType, &out.NetworkType - *out = new(string) - **out = **in - } - if in.TargetStoragePool != nil { - in, out := &in.TargetStoragePool, &out.TargetStoragePool - *out = new(string) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlacementsInitParameters. -func (in *PlacementsInitParameters) DeepCopy() *PlacementsInitParameters { - if in == nil { - return nil - } - out := new(PlacementsInitParameters) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *PlacementsObservation) DeepCopyInto(out *PlacementsObservation) { - *out = *in - if in.ApplianceID != nil { - in, out := &in.ApplianceID, &out.ApplianceID - *out = new(string) - **out = **in - } - if in.DataStoragePool != nil { - in, out := &in.DataStoragePool, &out.DataStoragePool - *out = new(string) - **out = **in - } - if in.GpuDevice != nil { - in, out := &in.GpuDevice, &out.GpuDevice - *out = make([]GpuDeviceObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.ImageStoragePool != nil { - in, out := &in.ImageStoragePool, &out.ImageStoragePool - *out = new(string) - **out = **in - } - if in.Network != nil { - in, out := &in.Network, &out.Network - *out = new(string) - **out = **in - } - if in.NetworkNames != nil { - in, out := &in.NetworkNames, &out.NetworkNames - *out = new(string) - **out = **in - } - if in.NetworkType != nil { - in, out := &in.NetworkType, &out.NetworkType - *out = new(string) - **out = **in - } - if in.TargetStoragePool != nil { - in, out := &in.TargetStoragePool, &out.TargetStoragePool - *out = new(string) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlacementsObservation. -func (in *PlacementsObservation) DeepCopy() *PlacementsObservation { - if in == nil { - return nil - } - out := new(PlacementsObservation) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *PlacementsParameters) DeepCopyInto(out *PlacementsParameters) { - *out = *in - if in.ApplianceID != nil { - in, out := &in.ApplianceID, &out.ApplianceID - *out = new(string) - **out = **in - } - if in.DataStoragePool != nil { - in, out := &in.DataStoragePool, &out.DataStoragePool - *out = new(string) - **out = **in - } - if in.GpuDevice != nil { - in, out := &in.GpuDevice, &out.GpuDevice - *out = make([]GpuDeviceParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.ImageStoragePool != nil { - in, out := &in.ImageStoragePool, &out.ImageStoragePool - *out = new(string) - **out = **in - } - if in.Network != nil { - in, out := &in.Network, &out.Network - *out = new(string) - **out = **in - } - if in.NetworkNames != nil { - in, out := &in.NetworkNames, &out.NetworkNames - *out = new(string) - **out = **in - } - if in.NetworkType != nil { - in, out := &in.NetworkType, &out.NetworkType - *out = new(string) - **out = **in - } - if in.TargetStoragePool != nil { - in, out := &in.TargetStoragePool, &out.TargetStoragePool - *out = new(string) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlacementsParameters. -func (in *PlacementsParameters) DeepCopy() *PlacementsParameters { - if in == nil { - return nil - } - out := new(PlacementsParameters) - in.DeepCopyInto(out) - return out -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *Profile) DeepCopyInto(out *Profile) { *out = *in diff --git a/apis/cluster/v1alpha1/zz_generated.managed.go b/apis/cluster/v1alpha1/zz_generated.managed.go index d8e6f62..836a1bc 100644 --- a/apis/cluster/v1alpha1/zz_generated.managed.go +++ b/apis/cluster/v1alpha1/zz_generated.managed.go @@ -607,66 +607,6 @@ func (mg *Group) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r } -// GetCondition of this Libvirt. -func (mg *Libvirt) GetCondition(ct xpv1.ConditionType) xpv1.Condition { - return mg.Status.GetCondition(ct) -} - -// GetDeletionPolicy of this Libvirt. -func (mg *Libvirt) GetDeletionPolicy() xpv1.DeletionPolicy { - return mg.Spec.DeletionPolicy -} - -// GetManagementPolicies of this Libvirt. -func (mg *Libvirt) GetManagementPolicies() xpv1.ManagementPolicies { - return mg.Spec.ManagementPolicies -} - -// GetProviderConfigReference of this Libvirt. -func (mg *Libvirt) GetProviderConfigReference() *xpv1.Reference { - return mg.Spec.ProviderConfigReference -} - -// GetPublishConnectionDetailsTo of this Libvirt. -func (mg *Libvirt) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { - return mg.Spec.PublishConnectionDetailsTo -} - -// GetWriteConnectionSecretToReference of this Libvirt. -func (mg *Libvirt) GetWriteConnectionSecretToReference() *xpv1.SecretReference { - return mg.Spec.WriteConnectionSecretToReference -} - -// SetConditions of this Libvirt. -func (mg *Libvirt) SetConditions(c ...xpv1.Condition) { - mg.Status.SetConditions(c...) -} - -// SetDeletionPolicy of this Libvirt. -func (mg *Libvirt) SetDeletionPolicy(r xpv1.DeletionPolicy) { - mg.Spec.DeletionPolicy = r -} - -// SetManagementPolicies of this Libvirt. -func (mg *Libvirt) SetManagementPolicies(r xpv1.ManagementPolicies) { - mg.Spec.ManagementPolicies = r -} - -// SetProviderConfigReference of this Libvirt. -func (mg *Libvirt) SetProviderConfigReference(r *xpv1.Reference) { - mg.Spec.ProviderConfigReference = r -} - -// SetPublishConnectionDetailsTo of this Libvirt. -func (mg *Libvirt) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { - mg.Spec.PublishConnectionDetailsTo = r -} - -// SetWriteConnectionSecretToReference of this Libvirt. -func (mg *Libvirt) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { - mg.Spec.WriteConnectionSecretToReference = r -} - // GetCondition of this Maas. func (mg *Maas) GetCondition(ct xpv1.ConditionType) xpv1.Condition { return mg.Status.GetCondition(ct) diff --git a/apis/cluster/v1alpha1/zz_generated.managedlist.go b/apis/cluster/v1alpha1/zz_generated.managedlist.go index 78fa089..43390fb 100644 --- a/apis/cluster/v1alpha1/zz_generated.managedlist.go +++ b/apis/cluster/v1alpha1/zz_generated.managedlist.go @@ -97,15 +97,6 @@ func (l *GroupList) GetItems() []resource.Managed { return items } -// GetItems of this LibvirtList. -func (l *LibvirtList) 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 MaasList. func (l *MaasList) GetItems() []resource.Managed { items := make([]resource.Managed, len(l.Items)) diff --git a/apis/cluster/v1alpha1/zz_gke_types.go b/apis/cluster/v1alpha1/zz_gke_types.go index 18991bd..a6efaab 100755 --- a/apis/cluster/v1alpha1/zz_gke_types.go +++ b/apis/cluster/v1alpha1/zz_gke_types.go @@ -216,8 +216,8 @@ type GkeClusterProfilePackInitParameters struct { // The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + // The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. Type *string `json:"type,omitempty" tf:"type,omitempty"` // (String) The unique identifier of the pack. The value can be looked up using the spectrocloud_pack data source. This value is required if the pack type is spectro and for helm if the chart is from a public helm registry. @@ -284,8 +284,8 @@ type GkeClusterProfilePackObservation struct { // The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + // The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. Type *string `json:"type,omitempty" tf:"type,omitempty"` // (String) The unique identifier of the pack. The value can be looked up using the spectrocloud_pack data source. This value is required if the pack type is spectro and for helm if the chart is from a public helm registry. @@ -318,8 +318,8 @@ type GkeClusterProfilePackParameters struct { // +kubebuilder:validation:Optional Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + // The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. // +kubebuilder:validation:Optional Type *string `json:"type,omitempty" tf:"type,omitempty"` @@ -361,7 +361,7 @@ type GkeClusterRbacBindingInitParameters struct { // (Block List) (see below for nested schema) Subjects []GkeClusterRbacBindingSubjectsInitParameters `json:"subjects,omitempty" tf:"subjects,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -380,7 +380,7 @@ type GkeClusterRbacBindingObservation struct { // (Block List) (see below for nested schema) Subjects []GkeClusterRbacBindingSubjectsObservation `json:"subjects,omitempty" tf:"subjects,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -402,7 +402,7 @@ type GkeClusterRbacBindingParameters struct { // +kubebuilder:validation:Optional Subjects []GkeClusterRbacBindingSubjectsParameters `json:"subjects,omitempty" tf:"subjects,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. // +kubebuilder:validation:Optional Type *string `json:"type" tf:"type,omitempty"` @@ -418,7 +418,7 @@ type GkeClusterRbacBindingSubjectsInitParameters struct { // The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'. Namespace *string `json:"namespace,omitempty" tf:"namespace,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -433,7 +433,7 @@ type GkeClusterRbacBindingSubjectsObservation struct { // The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'. Namespace *string `json:"namespace,omitempty" tf:"namespace,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -450,7 +450,7 @@ type GkeClusterRbacBindingSubjectsParameters struct { // +kubebuilder:validation:Optional Namespace *string `json:"namespace,omitempty" tf:"namespace,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. // +kubebuilder:validation:Optional Type *string `json:"type" tf:"type,omitempty"` diff --git a/apis/cluster/v1alpha1/zz_group_types.go b/apis/cluster/v1alpha1/zz_group_types.go index 2767652..0d202e6 100755 --- a/apis/cluster/v1alpha1/zz_group_types.go +++ b/apis/cluster/v1alpha1/zz_group_types.go @@ -184,8 +184,8 @@ type GroupClusterProfilePackInitParameters struct { // The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + // The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. Type *string `json:"type,omitempty" tf:"type,omitempty"` // (String) The unique identifier of the pack. The value can be looked up using the spectrocloud_pack data source. This value is required if the pack type is spectro and for helm if the chart is from a public helm registry. @@ -252,8 +252,8 @@ type GroupClusterProfilePackObservation struct { // The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + // The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. Type *string `json:"type,omitempty" tf:"type,omitempty"` // (String) The unique identifier of the pack. The value can be looked up using the spectrocloud_pack data source. This value is required if the pack type is spectro and for helm if the chart is from a public helm registry. @@ -286,8 +286,8 @@ type GroupClusterProfilePackParameters struct { // +kubebuilder:validation:Optional Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + // The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. // +kubebuilder:validation:Optional Type *string `json:"type,omitempty" tf:"type,omitempty"` diff --git a/apis/cluster/v1alpha1/zz_libvirt_terraformed.go b/apis/cluster/v1alpha1/zz_libvirt_terraformed.go deleted file mode 100755 index 92a9a04..0000000 --- a/apis/cluster/v1alpha1/zz_libvirt_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 Libvirt -func (mg *Libvirt) GetTerraformResourceType() string { - return "spectrocloud_cluster_libvirt" -} - -// GetConnectionDetailsMapping for this Libvirt -func (tr *Libvirt) GetConnectionDetailsMapping() map[string]string { - return nil -} - -// GetObservation of this Libvirt -func (tr *Libvirt) 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 Libvirt -func (tr *Libvirt) 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 Libvirt -func (tr *Libvirt) GetID() string { - if tr.Status.AtProvider.ID == nil { - return "" - } - return *tr.Status.AtProvider.ID -} - -// GetParameters of this Libvirt -func (tr *Libvirt) 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 Libvirt -func (tr *Libvirt) 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 Libvirt -func (tr *Libvirt) 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 Libvirt -func (tr *Libvirt) 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 Libvirt using its observed tfState. -// returns True if there are any spec changes for the resource. -func (tr *Libvirt) LateInitialize(attrs []byte) (bool, error) { - params := &LibvirtParameters{} - 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 *Libvirt) GetTerraformSchemaVersion() int { - return 2 -} diff --git a/apis/cluster/v1alpha1/zz_libvirt_types.go b/apis/cluster/v1alpha1/zz_libvirt_types.go deleted file mode 100755 index 4582ea9..0000000 --- a/apis/cluster/v1alpha1/zz_libvirt_types.go +++ /dev/null @@ -1,1304 +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 AttachedDisksInitParameters struct { - Managed *bool `json:"managed,omitempty" tf:"managed,omitempty"` - - SizeInGb *float64 `json:"sizeInGb,omitempty" tf:"size_in_gb,omitempty"` -} - -type AttachedDisksObservation struct { - Managed *bool `json:"managed,omitempty" tf:"managed,omitempty"` - - SizeInGb *float64 `json:"sizeInGb,omitempty" tf:"size_in_gb,omitempty"` -} - -type AttachedDisksParameters struct { - - // +kubebuilder:validation:Optional - Managed *bool `json:"managed,omitempty" tf:"managed,omitempty"` - - // +kubebuilder:validation:Optional - SizeInGb *float64 `json:"sizeInGb" tf:"size_in_gb,omitempty"` -} - -type GpuConfigInitParameters struct { - - // +mapType=granular - Addresses map[string]*string `json:"addresses,omitempty" tf:"addresses,omitempty"` - - DeviceModel *string `json:"deviceModel,omitempty" tf:"device_model,omitempty"` - - NumGpus *float64 `json:"numGpus,omitempty" tf:"num_gpus,omitempty"` - - Vendor *string `json:"vendor,omitempty" tf:"vendor,omitempty"` -} - -type GpuConfigObservation struct { - - // +mapType=granular - Addresses map[string]*string `json:"addresses,omitempty" tf:"addresses,omitempty"` - - DeviceModel *string `json:"deviceModel,omitempty" tf:"device_model,omitempty"` - - NumGpus *float64 `json:"numGpus,omitempty" tf:"num_gpus,omitempty"` - - Vendor *string `json:"vendor,omitempty" tf:"vendor,omitempty"` -} - -type GpuConfigParameters struct { - - // +kubebuilder:validation:Optional - // +mapType=granular - Addresses map[string]*string `json:"addresses,omitempty" tf:"addresses,omitempty"` - - // +kubebuilder:validation:Optional - DeviceModel *string `json:"deviceModel" tf:"device_model,omitempty"` - - // +kubebuilder:validation:Optional - NumGpus *float64 `json:"numGpus" tf:"num_gpus,omitempty"` - - // +kubebuilder:validation:Optional - Vendor *string `json:"vendor" tf:"vendor,omitempty"` -} - -type GpuDeviceInitParameters struct { - - // Addresses is a map of PCI device entry name to its addresses. - // +mapType=granular - Addresses map[string]*string `json:"addresses,omitempty" tf:"addresses,omitempty"` - - // DeviceModel `device_model` is the model of GPU, for a given vendor, for eg., TU104GL [Tesla T4] - DeviceModel *string `json:"deviceModel,omitempty" tf:"device_model,omitempty"` - - // Vendor `vendor` is the GPU vendor, for eg., NVIDIA or AMD - Vendor *string `json:"vendor,omitempty" tf:"vendor,omitempty"` -} - -type GpuDeviceObservation struct { - - // Addresses is a map of PCI device entry name to its addresses. - // +mapType=granular - Addresses map[string]*string `json:"addresses,omitempty" tf:"addresses,omitempty"` - - // DeviceModel `device_model` is the model of GPU, for a given vendor, for eg., TU104GL [Tesla T4] - DeviceModel *string `json:"deviceModel,omitempty" tf:"device_model,omitempty"` - - // Vendor `vendor` is the GPU vendor, for eg., NVIDIA or AMD - Vendor *string `json:"vendor,omitempty" tf:"vendor,omitempty"` -} - -type GpuDeviceParameters struct { - - // Addresses is a map of PCI device entry name to its addresses. - // +kubebuilder:validation:Optional - // +mapType=granular - Addresses map[string]*string `json:"addresses,omitempty" tf:"addresses,omitempty"` - - // DeviceModel `device_model` is the model of GPU, for a given vendor, for eg., TU104GL [Tesla T4] - // +kubebuilder:validation:Optional - DeviceModel *string `json:"deviceModel" tf:"device_model,omitempty"` - - // Vendor `vendor` is the GPU vendor, for eg., NVIDIA or AMD - // +kubebuilder:validation:Optional - Vendor *string `json:"vendor" tf:"vendor,omitempty"` -} - -type LibvirtBackupPolicyInitParameters struct { - - // The ID of the backup location to use for the backup. - BackupLocationID *string `json:"backupLocationId,omitempty" tf:"backup_location_id,omitempty"` - - // The list of cluster UIDs to include in the backup. If `include_all_clusters` is set to `true`, then all clusters will be included. - // +listType=set - ClusterUids []*string `json:"clusterUids,omitempty" tf:"cluster_uids,omitempty"` - - // The number of hours after which the backup will be deleted. For example, if the expiry is set to 24, the backup will be deleted after 24 hours. - ExpiryInHour *float64 `json:"expiryInHour,omitempty" tf:"expiry_in_hour,omitempty"` - - // Whether to include all clusters in the backup. If set to false, only the clusters specified in `cluster_uids` will be included. - IncludeAllClusters *bool `json:"includeAllClusters,omitempty" tf:"include_all_clusters,omitempty"` - - // Whether to include the cluster resources in the backup. If set to false, only the cluster configuration and disks will be backed up. - IncludeClusterResources *bool `json:"includeClusterResources,omitempty" tf:"include_cluster_resources,omitempty"` - - // Whether to include the disks in the backup. If set to false, only the cluster configuration will be backed up. - IncludeDisks *bool `json:"includeDisks,omitempty" tf:"include_disks,omitempty"` - - // The list of Kubernetes namespaces to include in the backup. If not specified, all namespaces will be included. - // +listType=set - Namespaces []*string `json:"namespaces,omitempty" tf:"namespaces,omitempty"` - - // Prefix for the backup name. The backup name will be of the format --. - Prefix *string `json:"prefix,omitempty" tf:"prefix,omitempty"` - - // The schedule for the backup. The schedule is specified in cron format. For example, to run the backup every day at 1:00 AM, the schedule should be set to `0 1 * * *`. - Schedule *string `json:"schedule,omitempty" tf:"schedule,omitempty"` -} - -type LibvirtBackupPolicyObservation struct { - - // The ID of the backup location to use for the backup. - BackupLocationID *string `json:"backupLocationId,omitempty" tf:"backup_location_id,omitempty"` - - // The list of cluster UIDs to include in the backup. If `include_all_clusters` is set to `true`, then all clusters will be included. - // +listType=set - ClusterUids []*string `json:"clusterUids,omitempty" tf:"cluster_uids,omitempty"` - - // The number of hours after which the backup will be deleted. For example, if the expiry is set to 24, the backup will be deleted after 24 hours. - ExpiryInHour *float64 `json:"expiryInHour,omitempty" tf:"expiry_in_hour,omitempty"` - - // Whether to include all clusters in the backup. If set to false, only the clusters specified in `cluster_uids` will be included. - IncludeAllClusters *bool `json:"includeAllClusters,omitempty" tf:"include_all_clusters,omitempty"` - - // Whether to include the cluster resources in the backup. If set to false, only the cluster configuration and disks will be backed up. - IncludeClusterResources *bool `json:"includeClusterResources,omitempty" tf:"include_cluster_resources,omitempty"` - - // Whether to include the disks in the backup. If set to false, only the cluster configuration will be backed up. - IncludeDisks *bool `json:"includeDisks,omitempty" tf:"include_disks,omitempty"` - - // The list of Kubernetes namespaces to include in the backup. If not specified, all namespaces will be included. - // +listType=set - Namespaces []*string `json:"namespaces,omitempty" tf:"namespaces,omitempty"` - - // Prefix for the backup name. The backup name will be of the format --. - Prefix *string `json:"prefix,omitempty" tf:"prefix,omitempty"` - - // The schedule for the backup. The schedule is specified in cron format. For example, to run the backup every day at 1:00 AM, the schedule should be set to `0 1 * * *`. - Schedule *string `json:"schedule,omitempty" tf:"schedule,omitempty"` -} - -type LibvirtBackupPolicyParameters struct { - - // The ID of the backup location to use for the backup. - // +kubebuilder:validation:Optional - BackupLocationID *string `json:"backupLocationId" tf:"backup_location_id,omitempty"` - - // The list of cluster UIDs to include in the backup. If `include_all_clusters` is set to `true`, then all clusters will be included. - // +kubebuilder:validation:Optional - // +listType=set - ClusterUids []*string `json:"clusterUids,omitempty" tf:"cluster_uids,omitempty"` - - // The number of hours after which the backup will be deleted. For example, if the expiry is set to 24, the backup will be deleted after 24 hours. - // +kubebuilder:validation:Optional - ExpiryInHour *float64 `json:"expiryInHour" tf:"expiry_in_hour,omitempty"` - - // Whether to include all clusters in the backup. If set to false, only the clusters specified in `cluster_uids` will be included. - // +kubebuilder:validation:Optional - IncludeAllClusters *bool `json:"includeAllClusters,omitempty" tf:"include_all_clusters,omitempty"` - - // Whether to include the cluster resources in the backup. If set to false, only the cluster configuration and disks will be backed up. - // +kubebuilder:validation:Optional - IncludeClusterResources *bool `json:"includeClusterResources,omitempty" tf:"include_cluster_resources,omitempty"` - - // Whether to include the disks in the backup. If set to false, only the cluster configuration will be backed up. - // +kubebuilder:validation:Optional - IncludeDisks *bool `json:"includeDisks,omitempty" tf:"include_disks,omitempty"` - - // The list of Kubernetes namespaces to include in the backup. If not specified, all namespaces will be included. - // +kubebuilder:validation:Optional - // +listType=set - Namespaces []*string `json:"namespaces,omitempty" tf:"namespaces,omitempty"` - - // Prefix for the backup name. The backup name will be of the format --. - // +kubebuilder:validation:Optional - Prefix *string `json:"prefix" tf:"prefix,omitempty"` - - // The schedule for the backup. The schedule is specified in cron format. For example, to run the backup every day at 1:00 AM, the schedule should be set to `0 1 * * *`. - // +kubebuilder:validation:Optional - Schedule *string `json:"schedule" tf:"schedule,omitempty"` -} - -type LibvirtCloudConfigInitParameters struct { - - // The search domain to use for the cluster in case of DHCP. - NetworkSearchDomain *string `json:"networkSearchDomain,omitempty" tf:"network_search_domain,omitempty"` - - // The type of network to use for the cluster. This can be `VIP` or `DDNS`. - NetworkType *string `json:"networkType,omitempty" tf:"network_type,omitempty"` - - // +listType=set - NtpServers []*string `json:"ntpServers,omitempty" tf:"ntp_servers,omitempty"` - - // List of public SSH (Secure Shell) to establish, administer, and communicate with remote clusters. - // +listType=set - SSHKeys []*string `json:"sshKeys,omitempty" tf:"ssh_keys,omitempty"` - - Vip *string `json:"vip,omitempty" tf:"vip,omitempty"` -} - -type LibvirtCloudConfigObservation struct { - - // The search domain to use for the cluster in case of DHCP. - NetworkSearchDomain *string `json:"networkSearchDomain,omitempty" tf:"network_search_domain,omitempty"` - - // The type of network to use for the cluster. This can be `VIP` or `DDNS`. - NetworkType *string `json:"networkType,omitempty" tf:"network_type,omitempty"` - - // +listType=set - NtpServers []*string `json:"ntpServers,omitempty" tf:"ntp_servers,omitempty"` - - // List of public SSH (Secure Shell) to establish, administer, and communicate with remote clusters. - // +listType=set - SSHKeys []*string `json:"sshKeys,omitempty" tf:"ssh_keys,omitempty"` - - Vip *string `json:"vip,omitempty" tf:"vip,omitempty"` -} - -type LibvirtCloudConfigParameters struct { - - // The search domain to use for the cluster in case of DHCP. - // +kubebuilder:validation:Optional - NetworkSearchDomain *string `json:"networkSearchDomain,omitempty" tf:"network_search_domain,omitempty"` - - // The type of network to use for the cluster. This can be `VIP` or `DDNS`. - // +kubebuilder:validation:Optional - NetworkType *string `json:"networkType,omitempty" tf:"network_type,omitempty"` - - // +kubebuilder:validation:Optional - // +listType=set - NtpServers []*string `json:"ntpServers,omitempty" tf:"ntp_servers,omitempty"` - - // List of public SSH (Secure Shell) to establish, administer, and communicate with remote clusters. - // +kubebuilder:validation:Optional - // +listType=set - SSHKeys []*string `json:"sshKeys,omitempty" tf:"ssh_keys,omitempty"` - - // +kubebuilder:validation:Optional - Vip *string `json:"vip" tf:"vip,omitempty"` -} - -type LibvirtClusterProfileInitParameters struct { - - // The ID of the cluster profile. - ID *string `json:"id,omitempty" tf:"id,omitempty"` - - // For packs of type `spectro`, `helm`, and `manifest`, at least one pack must be specified. - Pack []LibvirtClusterProfilePackInitParameters `json:"pack,omitempty" tf:"pack,omitempty"` -} - -type LibvirtClusterProfileObservation struct { - - // The ID of the cluster profile. - ID *string `json:"id,omitempty" tf:"id,omitempty"` - - // For packs of type `spectro`, `helm`, and `manifest`, at least one pack must be specified. - Pack []LibvirtClusterProfilePackObservation `json:"pack,omitempty" tf:"pack,omitempty"` -} - -type LibvirtClusterProfilePackInitParameters struct { - Manifest []LibvirtClusterProfilePackManifestInitParameters `json:"manifest,omitempty" tf:"manifest,omitempty"` - - // The name of the pack. The name must be unique within the cluster profile. - Name *string `json:"name,omitempty" tf:"name,omitempty"` - - // The registry UID of the pack. The registry UID is the unique identifier of the registry. This attribute is required if there is more than one registry that contains a pack with the same name. - RegistryUID *string `json:"registryUid,omitempty" tf:"registry_uid,omitempty"` - - // The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. - Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` - - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. - Type *string `json:"type,omitempty" tf:"type,omitempty"` - - // The unique identifier of the pack. The value can be looked up using the [`spectrocloud_pack`](https://registry.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) data source. This value is required if the pack type is `spectro` and for `helm` if the chart is from a public helm registry. - UID *string `json:"uid,omitempty" tf:"uid,omitempty"` - - // The values of the pack. The values are the configuration values of the pack. The values are specified in YAML format. - Values *string `json:"values,omitempty" tf:"values,omitempty"` -} - -type LibvirtClusterProfilePackManifestInitParameters struct { - - // The content of the manifest. The content is the YAML content of the manifest. - Content *string `json:"content,omitempty" tf:"content,omitempty"` - - // The name of the manifest. The name must be unique within the pack. - Name *string `json:"name,omitempty" tf:"name,omitempty"` -} - -type LibvirtClusterProfilePackManifestObservation struct { - - // The content of the manifest. The content is the YAML content of the manifest. - Content *string `json:"content,omitempty" tf:"content,omitempty"` - - // The name of the manifest. The name must be unique within the pack. - Name *string `json:"name,omitempty" tf:"name,omitempty"` - - UID *string `json:"uid,omitempty" tf:"uid,omitempty"` -} - -type LibvirtClusterProfilePackManifestParameters struct { - - // The content of the manifest. The content is the YAML content of the manifest. - // +kubebuilder:validation:Optional - Content *string `json:"content" tf:"content,omitempty"` - - // The name of the manifest. The name must be unique within the pack. - // +kubebuilder:validation:Optional - Name *string `json:"name" tf:"name,omitempty"` -} - -type LibvirtClusterProfilePackObservation struct { - Manifest []LibvirtClusterProfilePackManifestObservation `json:"manifest,omitempty" tf:"manifest,omitempty"` - - // The name of the pack. The name must be unique within the cluster profile. - Name *string `json:"name,omitempty" tf:"name,omitempty"` - - // The registry UID of the pack. The registry UID is the unique identifier of the registry. This attribute is required if there is more than one registry that contains a pack with the same name. - RegistryUID *string `json:"registryUid,omitempty" tf:"registry_uid,omitempty"` - - // The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. - Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` - - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. - Type *string `json:"type,omitempty" tf:"type,omitempty"` - - // The unique identifier of the pack. The value can be looked up using the [`spectrocloud_pack`](https://registry.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) data source. This value is required if the pack type is `spectro` and for `helm` if the chart is from a public helm registry. - UID *string `json:"uid,omitempty" tf:"uid,omitempty"` - - // The values of the pack. The values are the configuration values of the pack. The values are specified in YAML format. - Values *string `json:"values,omitempty" tf:"values,omitempty"` -} - -type LibvirtClusterProfilePackParameters struct { - - // +kubebuilder:validation:Optional - Manifest []LibvirtClusterProfilePackManifestParameters `json:"manifest,omitempty" tf:"manifest,omitempty"` - - // The name of the pack. The name must be unique within the cluster profile. - // +kubebuilder:validation:Optional - Name *string `json:"name" tf:"name,omitempty"` - - // The registry UID of the pack. The registry UID is the unique identifier of the registry. This attribute is required if there is more than one registry that contains a pack with the same name. - // +kubebuilder:validation:Optional - RegistryUID *string `json:"registryUid,omitempty" tf:"registry_uid,omitempty"` - - // The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. - // +kubebuilder:validation:Optional - Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` - - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. - // +kubebuilder:validation:Optional - Type *string `json:"type,omitempty" tf:"type,omitempty"` - - // The unique identifier of the pack. The value can be looked up using the [`spectrocloud_pack`](https://registry.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) data source. This value is required if the pack type is `spectro` and for `helm` if the chart is from a public helm registry. - // +kubebuilder:validation:Optional - UID *string `json:"uid,omitempty" tf:"uid,omitempty"` - - // The values of the pack. The values are the configuration values of the pack. The values are specified in YAML format. - // +kubebuilder:validation:Optional - Values *string `json:"values,omitempty" tf:"values,omitempty"` -} - -type LibvirtClusterProfileParameters struct { - - // The ID of the cluster profile. - // +kubebuilder:validation:Optional - ID *string `json:"id" tf:"id,omitempty"` - - // For packs of type `spectro`, `helm`, and `manifest`, at least one pack must be specified. - // +kubebuilder:validation:Optional - Pack []LibvirtClusterProfilePackParameters `json:"pack,omitempty" tf:"pack,omitempty"` -} - -type LibvirtClusterRbacBindingInitParameters struct { - - // The Kubernetes namespace of the RBAC binding. Required if 'type' is set to 'RoleBinding'. - Namespace *string `json:"namespace,omitempty" tf:"namespace,omitempty"` - - // The role of the RBAC binding. Required if 'type' is set to 'RoleBinding'. - // +mapType=granular - Role map[string]*string `json:"role,omitempty" tf:"role,omitempty"` - - Subjects []LibvirtClusterRbacBindingSubjectsInitParameters `json:"subjects,omitempty" tf:"subjects,omitempty"` - - // The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. - Type *string `json:"type,omitempty" tf:"type,omitempty"` -} - -type LibvirtClusterRbacBindingObservation struct { - - // The Kubernetes namespace of the RBAC binding. Required if 'type' is set to 'RoleBinding'. - Namespace *string `json:"namespace,omitempty" tf:"namespace,omitempty"` - - // The role of the RBAC binding. Required if 'type' is set to 'RoleBinding'. - // +mapType=granular - Role map[string]*string `json:"role,omitempty" tf:"role,omitempty"` - - Subjects []LibvirtClusterRbacBindingSubjectsObservation `json:"subjects,omitempty" tf:"subjects,omitempty"` - - // The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. - Type *string `json:"type,omitempty" tf:"type,omitempty"` -} - -type LibvirtClusterRbacBindingParameters struct { - - // The Kubernetes namespace of the RBAC binding. Required if 'type' is set to 'RoleBinding'. - // +kubebuilder:validation:Optional - Namespace *string `json:"namespace,omitempty" tf:"namespace,omitempty"` - - // The role of the RBAC binding. Required if 'type' is set to 'RoleBinding'. - // +kubebuilder:validation:Optional - // +mapType=granular - Role map[string]*string `json:"role,omitempty" tf:"role,omitempty"` - - // +kubebuilder:validation:Optional - Subjects []LibvirtClusterRbacBindingSubjectsParameters `json:"subjects,omitempty" tf:"subjects,omitempty"` - - // The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. - // +kubebuilder:validation:Optional - Type *string `json:"type" tf:"type,omitempty"` -} - -type LibvirtClusterRbacBindingSubjectsInitParameters struct { - - // The name of the subject. Required if 'type' is set to 'User' or 'Group'. - Name *string `json:"name,omitempty" tf:"name,omitempty"` - - // The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'. - Namespace *string `json:"namespace,omitempty" tf:"namespace,omitempty"` - - // The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. - Type *string `json:"type,omitempty" tf:"type,omitempty"` -} - -type LibvirtClusterRbacBindingSubjectsObservation struct { - - // The name of the subject. Required if 'type' is set to 'User' or 'Group'. - Name *string `json:"name,omitempty" tf:"name,omitempty"` - - // The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'. - Namespace *string `json:"namespace,omitempty" tf:"namespace,omitempty"` - - // The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. - Type *string `json:"type,omitempty" tf:"type,omitempty"` -} - -type LibvirtClusterRbacBindingSubjectsParameters struct { - - // The name of the subject. Required if 'type' is set to 'User' or 'Group'. - // +kubebuilder:validation:Optional - Name *string `json:"name" tf:"name,omitempty"` - - // The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'. - // +kubebuilder:validation:Optional - Namespace *string `json:"namespace,omitempty" tf:"namespace,omitempty"` - - // The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. - // +kubebuilder:validation:Optional - Type *string `json:"type" tf:"type,omitempty"` -} - -type LibvirtHostConfigInitParameters struct { - - // The external traffic policy for the cluster. - ExternalTrafficPolicy *string `json:"externalTrafficPolicy,omitempty" tf:"external_traffic_policy,omitempty"` - - // The type of endpoint for the cluster. Can be either 'Ingress' or 'LoadBalancer'. The default is 'Ingress'. - HostEndpointType *string `json:"hostEndpointType,omitempty" tf:"host_endpoint_type,omitempty"` - - // The host for the Ingress endpoint. Required if 'host_endpoint_type' is set to 'Ingress'. - IngressHost *string `json:"ingressHost,omitempty" tf:"ingress_host,omitempty"` - - // The source ranges for the load balancer. Required if 'host_endpoint_type' is set to 'LoadBalancer'. - LoadBalancerSourceRanges *string `json:"loadBalancerSourceRanges,omitempty" tf:"load_balancer_source_ranges,omitempty"` -} - -type LibvirtHostConfigObservation struct { - - // The external traffic policy for the cluster. - ExternalTrafficPolicy *string `json:"externalTrafficPolicy,omitempty" tf:"external_traffic_policy,omitempty"` - - // The type of endpoint for the cluster. Can be either 'Ingress' or 'LoadBalancer'. The default is 'Ingress'. - HostEndpointType *string `json:"hostEndpointType,omitempty" tf:"host_endpoint_type,omitempty"` - - // The host for the Ingress endpoint. Required if 'host_endpoint_type' is set to 'Ingress'. - IngressHost *string `json:"ingressHost,omitempty" tf:"ingress_host,omitempty"` - - // The source ranges for the load balancer. Required if 'host_endpoint_type' is set to 'LoadBalancer'. - LoadBalancerSourceRanges *string `json:"loadBalancerSourceRanges,omitempty" tf:"load_balancer_source_ranges,omitempty"` -} - -type LibvirtHostConfigParameters struct { - - // The external traffic policy for the cluster. - // +kubebuilder:validation:Optional - ExternalTrafficPolicy *string `json:"externalTrafficPolicy,omitempty" tf:"external_traffic_policy,omitempty"` - - // The type of endpoint for the cluster. Can be either 'Ingress' or 'LoadBalancer'. The default is 'Ingress'. - // +kubebuilder:validation:Optional - HostEndpointType *string `json:"hostEndpointType,omitempty" tf:"host_endpoint_type,omitempty"` - - // The host for the Ingress endpoint. Required if 'host_endpoint_type' is set to 'Ingress'. - // +kubebuilder:validation:Optional - IngressHost *string `json:"ingressHost,omitempty" tf:"ingress_host,omitempty"` - - // The source ranges for the load balancer. Required if 'host_endpoint_type' is set to 'LoadBalancer'. - // +kubebuilder:validation:Optional - LoadBalancerSourceRanges *string `json:"loadBalancerSourceRanges,omitempty" tf:"load_balancer_source_ranges,omitempty"` -} - -type LibvirtInitParameters struct { - - // The setting to apply the cluster profile. `DownloadAndInstall` will download and install packs in one action. `DownloadAndInstallLater` will only download artifact and postpone install for later. Default value is `DownloadAndInstall`. - ApplySetting *string `json:"applySetting,omitempty" tf:"apply_setting,omitempty"` - - // The backup policy for the cluster. If not specified, no backups will be taken. - BackupPolicy []LibvirtBackupPolicyInitParameters `json:"backupPolicy,omitempty" tf:"backup_policy,omitempty"` - - CloudAccountID *string `json:"cloudAccountId,omitempty" tf:"cloud_account_id,omitempty"` - - CloudConfig []LibvirtCloudConfigInitParameters `json:"cloudConfig,omitempty" tf:"cloud_config,omitempty"` - - // `cluster_meta_attribute` can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}` - ClusterMetaAttribute *string `json:"clusterMetaAttribute,omitempty" tf:"cluster_meta_attribute,omitempty"` - - ClusterProfile []LibvirtClusterProfileInitParameters `json:"clusterProfile,omitempty" tf:"cluster_profile,omitempty"` - - // The RBAC binding for the cluster. - ClusterRbacBinding []LibvirtClusterRbacBindingInitParameters `json:"clusterRbacBinding,omitempty" tf:"cluster_rbac_binding,omitempty"` - - // The context of the Libvirt cluster. Allowed values are `project` or `tenant`. Default is `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.io/providers/spectrocloud/spectrocloud/latest/docs#schema). - Context *string `json:"context,omitempty" tf:"context,omitempty"` - - // The description of the cluster. Default value is empty string. - Description *string `json:"description,omitempty" tf:"description,omitempty"` - - // If set to `true`, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources. - ForceDelete *bool `json:"forceDelete,omitempty" tf:"force_delete,omitempty"` - - // Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20. - ForceDeleteDelay *float64 `json:"forceDeleteDelay,omitempty" tf:"force_delete_delay,omitempty"` - - // The host configuration for the cluster. - HostConfig []LibvirtHostConfigInitParameters `json:"hostConfig,omitempty" tf:"host_config,omitempty"` - - LocationConfig []LibvirtLocationConfigInitParameters `json:"locationConfig,omitempty" tf:"location_config,omitempty"` - - MachinePool []LibvirtMachinePoolInitParameters `json:"machinePool,omitempty" tf:"machine_pool,omitempty"` - - // The namespaces for the cluster. - Namespaces []LibvirtNamespacesInitParameters `json:"namespaces,omitempty" tf:"namespaces,omitempty"` - - // Date and time after which to patch cluster `RFC3339: 2006-01-02T15:04:05Z07:00` - OsPatchAfter *string `json:"osPatchAfter,omitempty" tf:"os_patch_after,omitempty"` - - // Whether to apply OS patch on boot. Default is `false`. - OsPatchOnBoot *bool `json:"osPatchOnBoot,omitempty" tf:"os_patch_on_boot,omitempty"` - - // Cron schedule for OS patching. This must be in the form of `0 0 * * *`. - OsPatchSchedule *string `json:"osPatchSchedule,omitempty" tf:"os_patch_schedule,omitempty"` - - // The pause agent upgrades setting allows to control the automatic upgrade of the Palette component and agent for an individual cluster. The default value is `unlock`, meaning upgrades occur automatically. Setting it to `lock` pauses automatic agent upgrades for the cluster. - PauseAgentUpgrades *string `json:"pauseAgentUpgrades,omitempty" tf:"pause_agent_upgrades,omitempty"` - - // To authorize the cluster repave, set the value to `Approved` for approval and `""` to decline. Default value is `""`. - ReviewRepaveState *string `json:"reviewRepaveState,omitempty" tf:"review_repave_state,omitempty"` - - // The scan policy for the cluster. - ScanPolicy []LibvirtScanPolicyInitParameters `json:"scanPolicy,omitempty" tf:"scan_policy,omitempty"` - - // If `true`, the cluster will be created asynchronously. Default value is `false`. - SkipCompletion *bool `json:"skipCompletion,omitempty" tf:"skip_completion,omitempty"` - - // A list of tags to be applied to the cluster. Tags must be in the form of `key:value`. - // +listType=set - Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"` -} - -type LibvirtLocationConfigInitParameters struct { - - // The country code of the country the cluster is located in. - CountryCode *string `json:"countryCode,omitempty" tf:"country_code,omitempty"` - - // The name of the country. - CountryName *string `json:"countryName,omitempty" tf:"country_name,omitempty"` - - // The latitude coordinates value. - Latitude *float64 `json:"latitude,omitempty" tf:"latitude,omitempty"` - - // The longitude coordinates value. - Longitude *float64 `json:"longitude,omitempty" tf:"longitude,omitempty"` - - // The region code of where the cluster is located in. - RegionCode *string `json:"regionCode,omitempty" tf:"region_code,omitempty"` - - // The name of the region. - RegionName *string `json:"regionName,omitempty" tf:"region_name,omitempty"` -} - -type LibvirtLocationConfigObservation struct { - - // The country code of the country the cluster is located in. - CountryCode *string `json:"countryCode,omitempty" tf:"country_code,omitempty"` - - // The name of the country. - CountryName *string `json:"countryName,omitempty" tf:"country_name,omitempty"` - - // The latitude coordinates value. - Latitude *float64 `json:"latitude,omitempty" tf:"latitude,omitempty"` - - // The longitude coordinates value. - Longitude *float64 `json:"longitude,omitempty" tf:"longitude,omitempty"` - - // The region code of where the cluster is located in. - RegionCode *string `json:"regionCode,omitempty" tf:"region_code,omitempty"` - - // The name of the region. - RegionName *string `json:"regionName,omitempty" tf:"region_name,omitempty"` -} - -type LibvirtLocationConfigParameters struct { - - // The country code of the country the cluster is located in. - // +kubebuilder:validation:Optional - CountryCode *string `json:"countryCode,omitempty" tf:"country_code,omitempty"` - - // The name of the country. - // +kubebuilder:validation:Optional - CountryName *string `json:"countryName,omitempty" tf:"country_name,omitempty"` - - // The latitude coordinates value. - // +kubebuilder:validation:Optional - Latitude *float64 `json:"latitude" tf:"latitude,omitempty"` - - // The longitude coordinates value. - // +kubebuilder:validation:Optional - Longitude *float64 `json:"longitude" tf:"longitude,omitempty"` - - // The region code of where the cluster is located in. - // +kubebuilder:validation:Optional - RegionCode *string `json:"regionCode,omitempty" tf:"region_code,omitempty"` - - // The name of the region. - // +kubebuilder:validation:Optional - RegionName *string `json:"regionName,omitempty" tf:"region_name,omitempty"` -} - -type LibvirtMachinePoolInitParameters struct { - - // +mapType=granular - AdditionalLabels map[string]*string `json:"additionalLabels,omitempty" tf:"additional_labels,omitempty"` - - // Whether this machine pool is a control plane. Defaults to `false`. - ControlPlane *bool `json:"controlPlane,omitempty" tf:"control_plane,omitempty"` - - // Whether this machine pool is a control plane and a worker. Defaults to `false`. - ControlPlaneAsWorker *bool `json:"controlPlaneAsWorker,omitempty" tf:"control_plane_as_worker,omitempty"` - - // Number of nodes in the machine pool. - Count *float64 `json:"count,omitempty" tf:"count,omitempty"` - - InstanceType []MachinePoolInstanceTypeInitParameters `json:"instanceType,omitempty" tf:"instance_type,omitempty"` - - Name *string `json:"name,omitempty" tf:"name,omitempty"` - - Node []LibvirtMachinePoolNodeInitParameters `json:"node,omitempty" tf:"node,omitempty"` - - // Minimum number of seconds node should be Ready, before the next node is selected for repave. Default value is `0`, Applicable only for worker pools. - NodeRepaveInterval *float64 `json:"nodeRepaveInterval,omitempty" tf:"node_repave_interval,omitempty"` - - Placements []PlacementsInitParameters `json:"placements,omitempty" tf:"placements,omitempty"` - - Taints []LibvirtMachinePoolTaintsInitParameters `json:"taints,omitempty" tf:"taints,omitempty"` - - // Update strategy for the machine pool. Valid values are `RollingUpdateScaleOut` and `RollingUpdateScaleIn`. - UpdateStrategy *string `json:"updateStrategy,omitempty" tf:"update_strategy,omitempty"` - - // XSL template to use. - XslTemplate *string `json:"xslTemplate,omitempty" tf:"xsl_template,omitempty"` -} - -type LibvirtMachinePoolNodeInitParameters struct { - - // The action to perform on the node. Valid values are: `cordon`, `uncordon`. - Action *string `json:"action,omitempty" tf:"action,omitempty"` - - // The node_id of the node, For example `i-07f899a33dee624f7` - NodeID *string `json:"nodeId,omitempty" tf:"node_id,omitempty"` -} - -type LibvirtMachinePoolNodeObservation struct { - - // The action to perform on the node. Valid values are: `cordon`, `uncordon`. - Action *string `json:"action,omitempty" tf:"action,omitempty"` - - // The node_id of the node, For example `i-07f899a33dee624f7` - NodeID *string `json:"nodeId,omitempty" tf:"node_id,omitempty"` -} - -type LibvirtMachinePoolNodeParameters struct { - - // The action to perform on the node. Valid values are: `cordon`, `uncordon`. - // +kubebuilder:validation:Optional - Action *string `json:"action" tf:"action,omitempty"` - - // The node_id of the node, For example `i-07f899a33dee624f7` - // +kubebuilder:validation:Optional - NodeID *string `json:"nodeId" tf:"node_id,omitempty"` -} - -type LibvirtMachinePoolObservation struct { - - // +mapType=granular - AdditionalLabels map[string]*string `json:"additionalLabels,omitempty" tf:"additional_labels,omitempty"` - - // Whether this machine pool is a control plane. Defaults to `false`. - ControlPlane *bool `json:"controlPlane,omitempty" tf:"control_plane,omitempty"` - - // Whether this machine pool is a control plane and a worker. Defaults to `false`. - ControlPlaneAsWorker *bool `json:"controlPlaneAsWorker,omitempty" tf:"control_plane_as_worker,omitempty"` - - // Number of nodes in the machine pool. - Count *float64 `json:"count,omitempty" tf:"count,omitempty"` - - InstanceType []MachinePoolInstanceTypeObservation `json:"instanceType,omitempty" tf:"instance_type,omitempty"` - - Name *string `json:"name,omitempty" tf:"name,omitempty"` - - Node []LibvirtMachinePoolNodeObservation `json:"node,omitempty" tf:"node,omitempty"` - - // Minimum number of seconds node should be Ready, before the next node is selected for repave. Default value is `0`, Applicable only for worker pools. - NodeRepaveInterval *float64 `json:"nodeRepaveInterval,omitempty" tf:"node_repave_interval,omitempty"` - - Placements []PlacementsObservation `json:"placements,omitempty" tf:"placements,omitempty"` - - Taints []LibvirtMachinePoolTaintsObservation `json:"taints,omitempty" tf:"taints,omitempty"` - - // Update strategy for the machine pool. Valid values are `RollingUpdateScaleOut` and `RollingUpdateScaleIn`. - UpdateStrategy *string `json:"updateStrategy,omitempty" tf:"update_strategy,omitempty"` - - // XSL template to use. - XslTemplate *string `json:"xslTemplate,omitempty" tf:"xsl_template,omitempty"` -} - -type LibvirtMachinePoolParameters struct { - - // +kubebuilder:validation:Optional - // +mapType=granular - AdditionalLabels map[string]*string `json:"additionalLabels,omitempty" tf:"additional_labels,omitempty"` - - // Whether this machine pool is a control plane. Defaults to `false`. - // +kubebuilder:validation:Optional - ControlPlane *bool `json:"controlPlane,omitempty" tf:"control_plane,omitempty"` - - // Whether this machine pool is a control plane and a worker. Defaults to `false`. - // +kubebuilder:validation:Optional - ControlPlaneAsWorker *bool `json:"controlPlaneAsWorker,omitempty" tf:"control_plane_as_worker,omitempty"` - - // Number of nodes in the machine pool. - // +kubebuilder:validation:Optional - Count *float64 `json:"count" tf:"count,omitempty"` - - // +kubebuilder:validation:Optional - InstanceType []MachinePoolInstanceTypeParameters `json:"instanceType" tf:"instance_type,omitempty"` - - // +kubebuilder:validation:Optional - Name *string `json:"name" tf:"name,omitempty"` - - // +kubebuilder:validation:Optional - Node []LibvirtMachinePoolNodeParameters `json:"node,omitempty" tf:"node,omitempty"` - - // Minimum number of seconds node should be Ready, before the next node is selected for repave. Default value is `0`, Applicable only for worker pools. - // +kubebuilder:validation:Optional - NodeRepaveInterval *float64 `json:"nodeRepaveInterval,omitempty" tf:"node_repave_interval,omitempty"` - - // +kubebuilder:validation:Optional - Placements []PlacementsParameters `json:"placements" tf:"placements,omitempty"` - - // +kubebuilder:validation:Optional - Taints []LibvirtMachinePoolTaintsParameters `json:"taints,omitempty" tf:"taints,omitempty"` - - // Update strategy for the machine pool. Valid values are `RollingUpdateScaleOut` and `RollingUpdateScaleIn`. - // +kubebuilder:validation:Optional - UpdateStrategy *string `json:"updateStrategy,omitempty" tf:"update_strategy,omitempty"` - - // XSL template to use. - // +kubebuilder:validation:Optional - XslTemplate *string `json:"xslTemplate,omitempty" tf:"xsl_template,omitempty"` -} - -type LibvirtMachinePoolTaintsInitParameters struct { - - // The effect of the taint. Allowed values are: `NoSchedule`, `PreferNoSchedule` or `NoExecute`. - Effect *string `json:"effect,omitempty" tf:"effect,omitempty"` - - // The key of the taint. - Key *string `json:"key,omitempty" tf:"key,omitempty"` - - // The value of the taint. - Value *string `json:"value,omitempty" tf:"value,omitempty"` -} - -type LibvirtMachinePoolTaintsObservation struct { - - // The effect of the taint. Allowed values are: `NoSchedule`, `PreferNoSchedule` or `NoExecute`. - Effect *string `json:"effect,omitempty" tf:"effect,omitempty"` - - // The key of the taint. - Key *string `json:"key,omitempty" tf:"key,omitempty"` - - // The value of the taint. - Value *string `json:"value,omitempty" tf:"value,omitempty"` -} - -type LibvirtMachinePoolTaintsParameters struct { - - // The effect of the taint. Allowed values are: `NoSchedule`, `PreferNoSchedule` or `NoExecute`. - // +kubebuilder:validation:Optional - Effect *string `json:"effect" tf:"effect,omitempty"` - - // The key of the taint. - // +kubebuilder:validation:Optional - Key *string `json:"key" tf:"key,omitempty"` - - // The value of the taint. - // +kubebuilder:validation:Optional - Value *string `json:"value" tf:"value,omitempty"` -} - -type LibvirtNamespacesInitParameters struct { - - // List of images to disallow for the namespace. For example, `['nginx:latest', 'redis:latest']` - ImagesBlacklist []*string `json:"imagesBlacklist,omitempty" tf:"images_blacklist,omitempty"` - - // Name of the namespace. This is the name of the Kubernetes namespace in the cluster. - Name *string `json:"name,omitempty" tf:"name,omitempty"` - - // Resource allocation for the namespace. This is a map containing the resource type and the resource value. For example, `{cpu_cores: '2', memory_MiB: '2048'}` - // +mapType=granular - ResourceAllocation map[string]*string `json:"resourceAllocation,omitempty" tf:"resource_allocation,omitempty"` -} - -type LibvirtNamespacesObservation struct { - - // List of images to disallow for the namespace. For example, `['nginx:latest', 'redis:latest']` - ImagesBlacklist []*string `json:"imagesBlacklist,omitempty" tf:"images_blacklist,omitempty"` - - // Name of the namespace. This is the name of the Kubernetes namespace in the cluster. - Name *string `json:"name,omitempty" tf:"name,omitempty"` - - // Resource allocation for the namespace. This is a map containing the resource type and the resource value. For example, `{cpu_cores: '2', memory_MiB: '2048'}` - // +mapType=granular - ResourceAllocation map[string]*string `json:"resourceAllocation,omitempty" tf:"resource_allocation,omitempty"` -} - -type LibvirtNamespacesParameters struct { - - // List of images to disallow for the namespace. For example, `['nginx:latest', 'redis:latest']` - // +kubebuilder:validation:Optional - ImagesBlacklist []*string `json:"imagesBlacklist,omitempty" tf:"images_blacklist,omitempty"` - - // Name of the namespace. This is the name of the Kubernetes namespace in the cluster. - // +kubebuilder:validation:Optional - Name *string `json:"name" tf:"name,omitempty"` - - // Resource allocation for the namespace. This is a map containing the resource type and the resource value. For example, `{cpu_cores: '2', memory_MiB: '2048'}` - // +kubebuilder:validation:Optional - // +mapType=granular - ResourceAllocation map[string]*string `json:"resourceAllocation" tf:"resource_allocation,omitempty"` -} - -type LibvirtObservation struct { - - // Admin Kube-config for the cluster. This can be used to connect to the cluster using `kubectl`, With admin privilege. - AdminKubeConfig *string `json:"adminKubeConfig,omitempty" tf:"admin_kube_config,omitempty"` - - // The setting to apply the cluster profile. `DownloadAndInstall` will download and install packs in one action. `DownloadAndInstallLater` will only download artifact and postpone install for later. Default value is `DownloadAndInstall`. - ApplySetting *string `json:"applySetting,omitempty" tf:"apply_setting,omitempty"` - - // The backup policy for the cluster. If not specified, no backups will be taken. - BackupPolicy []LibvirtBackupPolicyObservation `json:"backupPolicy,omitempty" tf:"backup_policy,omitempty"` - - CloudAccountID *string `json:"cloudAccountId,omitempty" tf:"cloud_account_id,omitempty"` - - CloudConfig []LibvirtCloudConfigObservation `json:"cloudConfig,omitempty" tf:"cloud_config,omitempty"` - - // ID of the cloud config used for the cluster. This cloud config must be of type `azure`. - CloudConfigID *string `json:"cloudConfigId,omitempty" tf:"cloud_config_id,omitempty"` - - // `cluster_meta_attribute` can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}` - ClusterMetaAttribute *string `json:"clusterMetaAttribute,omitempty" tf:"cluster_meta_attribute,omitempty"` - - ClusterProfile []LibvirtClusterProfileObservation `json:"clusterProfile,omitempty" tf:"cluster_profile,omitempty"` - - // The RBAC binding for the cluster. - ClusterRbacBinding []LibvirtClusterRbacBindingObservation `json:"clusterRbacBinding,omitempty" tf:"cluster_rbac_binding,omitempty"` - - // The context of the Libvirt cluster. Allowed values are `project` or `tenant`. Default is `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.io/providers/spectrocloud/spectrocloud/latest/docs#schema). - Context *string `json:"context,omitempty" tf:"context,omitempty"` - - // The description of the cluster. Default value is empty string. - Description *string `json:"description,omitempty" tf:"description,omitempty"` - - // If set to `true`, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources. - ForceDelete *bool `json:"forceDelete,omitempty" tf:"force_delete,omitempty"` - - // Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20. - ForceDeleteDelay *float64 `json:"forceDeleteDelay,omitempty" tf:"force_delete_delay,omitempty"` - - // The host configuration for the cluster. - HostConfig []LibvirtHostConfigObservation `json:"hostConfig,omitempty" tf:"host_config,omitempty"` - - ID *string `json:"id,omitempty" tf:"id,omitempty"` - - // Kubeconfig for the cluster. This can be used to connect to the cluster using `kubectl`. - Kubeconfig *string `json:"kubeconfig,omitempty" tf:"kubeconfig,omitempty"` - - LocationConfig []LibvirtLocationConfigObservation `json:"locationConfig,omitempty" tf:"location_config,omitempty"` - - MachinePool []LibvirtMachinePoolObservation `json:"machinePool,omitempty" tf:"machine_pool,omitempty"` - - // The namespaces for the cluster. - Namespaces []LibvirtNamespacesObservation `json:"namespaces,omitempty" tf:"namespaces,omitempty"` - - // Date and time after which to patch cluster `RFC3339: 2006-01-02T15:04:05Z07:00` - OsPatchAfter *string `json:"osPatchAfter,omitempty" tf:"os_patch_after,omitempty"` - - // Whether to apply OS patch on boot. Default is `false`. - OsPatchOnBoot *bool `json:"osPatchOnBoot,omitempty" tf:"os_patch_on_boot,omitempty"` - - // Cron schedule for OS patching. This must be in the form of `0 0 * * *`. - OsPatchSchedule *string `json:"osPatchSchedule,omitempty" tf:"os_patch_schedule,omitempty"` - - // The pause agent upgrades setting allows to control the automatic upgrade of the Palette component and agent for an individual cluster. The default value is `unlock`, meaning upgrades occur automatically. Setting it to `lock` pauses automatic agent upgrades for the cluster. - PauseAgentUpgrades *string `json:"pauseAgentUpgrades,omitempty" tf:"pause_agent_upgrades,omitempty"` - - // To authorize the cluster repave, set the value to `Approved` for approval and `""` to decline. Default value is `""`. - ReviewRepaveState *string `json:"reviewRepaveState,omitempty" tf:"review_repave_state,omitempty"` - - // The scan policy for the cluster. - ScanPolicy []LibvirtScanPolicyObservation `json:"scanPolicy,omitempty" tf:"scan_policy,omitempty"` - - // If `true`, the cluster will be created asynchronously. Default value is `false`. - SkipCompletion *bool `json:"skipCompletion,omitempty" tf:"skip_completion,omitempty"` - - // A list of tags to be applied to the cluster. Tags must be in the form of `key:value`. - // +listType=set - Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"` -} - -type LibvirtParameters struct { - - // The setting to apply the cluster profile. `DownloadAndInstall` will download and install packs in one action. `DownloadAndInstallLater` will only download artifact and postpone install for later. Default value is `DownloadAndInstall`. - // +kubebuilder:validation:Optional - ApplySetting *string `json:"applySetting,omitempty" tf:"apply_setting,omitempty"` - - // The backup policy for the cluster. If not specified, no backups will be taken. - // +kubebuilder:validation:Optional - BackupPolicy []LibvirtBackupPolicyParameters `json:"backupPolicy,omitempty" tf:"backup_policy,omitempty"` - - // +kubebuilder:validation:Optional - CloudAccountID *string `json:"cloudAccountId,omitempty" tf:"cloud_account_id,omitempty"` - - // +kubebuilder:validation:Optional - CloudConfig []LibvirtCloudConfigParameters `json:"cloudConfig,omitempty" tf:"cloud_config,omitempty"` - - // `cluster_meta_attribute` can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}` - // +kubebuilder:validation:Optional - ClusterMetaAttribute *string `json:"clusterMetaAttribute,omitempty" tf:"cluster_meta_attribute,omitempty"` - - // +kubebuilder:validation:Optional - ClusterProfile []LibvirtClusterProfileParameters `json:"clusterProfile,omitempty" tf:"cluster_profile,omitempty"` - - // The RBAC binding for the cluster. - // +kubebuilder:validation:Optional - ClusterRbacBinding []LibvirtClusterRbacBindingParameters `json:"clusterRbacBinding,omitempty" tf:"cluster_rbac_binding,omitempty"` - - // The context of the Libvirt cluster. Allowed values are `project` or `tenant`. Default is `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.io/providers/spectrocloud/spectrocloud/latest/docs#schema). - // +kubebuilder:validation:Optional - Context *string `json:"context,omitempty" tf:"context,omitempty"` - - // The description of the cluster. Default value is empty string. - // +kubebuilder:validation:Optional - Description *string `json:"description,omitempty" tf:"description,omitempty"` - - // If set to `true`, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources. - // +kubebuilder:validation:Optional - ForceDelete *bool `json:"forceDelete,omitempty" tf:"force_delete,omitempty"` - - // Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20. - // +kubebuilder:validation:Optional - ForceDeleteDelay *float64 `json:"forceDeleteDelay,omitempty" tf:"force_delete_delay,omitempty"` - - // The host configuration for the cluster. - // +kubebuilder:validation:Optional - HostConfig []LibvirtHostConfigParameters `json:"hostConfig,omitempty" tf:"host_config,omitempty"` - - // +kubebuilder:validation:Optional - LocationConfig []LibvirtLocationConfigParameters `json:"locationConfig,omitempty" tf:"location_config,omitempty"` - - // +kubebuilder:validation:Optional - MachinePool []LibvirtMachinePoolParameters `json:"machinePool,omitempty" tf:"machine_pool,omitempty"` - - // The namespaces for the cluster. - // +kubebuilder:validation:Optional - Namespaces []LibvirtNamespacesParameters `json:"namespaces,omitempty" tf:"namespaces,omitempty"` - - // Date and time after which to patch cluster `RFC3339: 2006-01-02T15:04:05Z07:00` - // +kubebuilder:validation:Optional - OsPatchAfter *string `json:"osPatchAfter,omitempty" tf:"os_patch_after,omitempty"` - - // Whether to apply OS patch on boot. Default is `false`. - // +kubebuilder:validation:Optional - OsPatchOnBoot *bool `json:"osPatchOnBoot,omitempty" tf:"os_patch_on_boot,omitempty"` - - // Cron schedule for OS patching. This must be in the form of `0 0 * * *`. - // +kubebuilder:validation:Optional - OsPatchSchedule *string `json:"osPatchSchedule,omitempty" tf:"os_patch_schedule,omitempty"` - - // The pause agent upgrades setting allows to control the automatic upgrade of the Palette component and agent for an individual cluster. The default value is `unlock`, meaning upgrades occur automatically. Setting it to `lock` pauses automatic agent upgrades for the cluster. - // +kubebuilder:validation:Optional - PauseAgentUpgrades *string `json:"pauseAgentUpgrades,omitempty" tf:"pause_agent_upgrades,omitempty"` - - // To authorize the cluster repave, set the value to `Approved` for approval and `""` to decline. Default value is `""`. - // +kubebuilder:validation:Optional - ReviewRepaveState *string `json:"reviewRepaveState,omitempty" tf:"review_repave_state,omitempty"` - - // The scan policy for the cluster. - // +kubebuilder:validation:Optional - ScanPolicy []LibvirtScanPolicyParameters `json:"scanPolicy,omitempty" tf:"scan_policy,omitempty"` - - // If `true`, the cluster will be created asynchronously. Default value is `false`. - // +kubebuilder:validation:Optional - SkipCompletion *bool `json:"skipCompletion,omitempty" tf:"skip_completion,omitempty"` - - // A list of tags to be applied to the cluster. Tags must be in the form of `key:value`. - // +kubebuilder:validation:Optional - // +listType=set - Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"` -} - -type LibvirtScanPolicyInitParameters struct { - - // The schedule for configuration scan. - ConfigurationScanSchedule *string `json:"configurationScanSchedule,omitempty" tf:"configuration_scan_schedule,omitempty"` - - // The schedule for conformance scan. - ConformanceScanSchedule *string `json:"conformanceScanSchedule,omitempty" tf:"conformance_scan_schedule,omitempty"` - - // The schedule for penetration scan. - PenetrationScanSchedule *string `json:"penetrationScanSchedule,omitempty" tf:"penetration_scan_schedule,omitempty"` -} - -type LibvirtScanPolicyObservation struct { - - // The schedule for configuration scan. - ConfigurationScanSchedule *string `json:"configurationScanSchedule,omitempty" tf:"configuration_scan_schedule,omitempty"` - - // The schedule for conformance scan. - ConformanceScanSchedule *string `json:"conformanceScanSchedule,omitempty" tf:"conformance_scan_schedule,omitempty"` - - // The schedule for penetration scan. - PenetrationScanSchedule *string `json:"penetrationScanSchedule,omitempty" tf:"penetration_scan_schedule,omitempty"` -} - -type LibvirtScanPolicyParameters struct { - - // The schedule for configuration scan. - // +kubebuilder:validation:Optional - ConfigurationScanSchedule *string `json:"configurationScanSchedule" tf:"configuration_scan_schedule,omitempty"` - - // The schedule for conformance scan. - // +kubebuilder:validation:Optional - ConformanceScanSchedule *string `json:"conformanceScanSchedule" tf:"conformance_scan_schedule,omitempty"` - - // The schedule for penetration scan. - // +kubebuilder:validation:Optional - PenetrationScanSchedule *string `json:"penetrationScanSchedule" tf:"penetration_scan_schedule,omitempty"` -} - -type MachinePoolInstanceTypeInitParameters struct { - AttachedDisks []AttachedDisksInitParameters `json:"attachedDisks,omitempty" tf:"attached_disks,omitempty"` - - CPU *float64 `json:"cpu,omitempty" tf:"cpu,omitempty"` - - CachePassthrough *bool `json:"cachePassthrough,omitempty" tf:"cache_passthrough,omitempty"` - - CpusSets *string `json:"cpusSets,omitempty" tf:"cpus_sets,omitempty"` - - DiskSizeGb *float64 `json:"diskSizeGb,omitempty" tf:"disk_size_gb,omitempty"` - - GpuConfig []GpuConfigInitParameters `json:"gpuConfig,omitempty" tf:"gpu_config,omitempty"` - - MemoryMb *float64 `json:"memoryMb,omitempty" tf:"memory_mb,omitempty"` -} - -type MachinePoolInstanceTypeObservation struct { - AttachedDisks []AttachedDisksObservation `json:"attachedDisks,omitempty" tf:"attached_disks,omitempty"` - - CPU *float64 `json:"cpu,omitempty" tf:"cpu,omitempty"` - - CachePassthrough *bool `json:"cachePassthrough,omitempty" tf:"cache_passthrough,omitempty"` - - CpusSets *string `json:"cpusSets,omitempty" tf:"cpus_sets,omitempty"` - - DiskSizeGb *float64 `json:"diskSizeGb,omitempty" tf:"disk_size_gb,omitempty"` - - GpuConfig []GpuConfigObservation `json:"gpuConfig,omitempty" tf:"gpu_config,omitempty"` - - MemoryMb *float64 `json:"memoryMb,omitempty" tf:"memory_mb,omitempty"` -} - -type MachinePoolInstanceTypeParameters struct { - - // +kubebuilder:validation:Optional - AttachedDisks []AttachedDisksParameters `json:"attachedDisks,omitempty" tf:"attached_disks,omitempty"` - - // +kubebuilder:validation:Optional - CPU *float64 `json:"cpu" tf:"cpu,omitempty"` - - // +kubebuilder:validation:Optional - CachePassthrough *bool `json:"cachePassthrough,omitempty" tf:"cache_passthrough,omitempty"` - - // +kubebuilder:validation:Optional - CpusSets *string `json:"cpusSets,omitempty" tf:"cpus_sets,omitempty"` - - // +kubebuilder:validation:Optional - DiskSizeGb *float64 `json:"diskSizeGb" tf:"disk_size_gb,omitempty"` - - // +kubebuilder:validation:Optional - GpuConfig []GpuConfigParameters `json:"gpuConfig,omitempty" tf:"gpu_config,omitempty"` - - // +kubebuilder:validation:Optional - MemoryMb *float64 `json:"memoryMb" tf:"memory_mb,omitempty"` -} - -type PlacementsInitParameters struct { - ApplianceID *string `json:"applianceId,omitempty" tf:"appliance_id,omitempty"` - - DataStoragePool *string `json:"dataStoragePool,omitempty" tf:"data_storage_pool,omitempty"` - - GpuDevice []GpuDeviceInitParameters `json:"gpuDevice,omitempty" tf:"gpu_device,omitempty"` - - ImageStoragePool *string `json:"imageStoragePool,omitempty" tf:"image_storage_pool,omitempty"` - - Network *string `json:"network,omitempty" tf:"network,omitempty"` - - NetworkNames *string `json:"networkNames,omitempty" tf:"network_names,omitempty"` - - NetworkType *string `json:"networkType,omitempty" tf:"network_type,omitempty"` - - TargetStoragePool *string `json:"targetStoragePool,omitempty" tf:"target_storage_pool,omitempty"` -} - -type PlacementsObservation struct { - ApplianceID *string `json:"applianceId,omitempty" tf:"appliance_id,omitempty"` - - DataStoragePool *string `json:"dataStoragePool,omitempty" tf:"data_storage_pool,omitempty"` - - GpuDevice []GpuDeviceObservation `json:"gpuDevice,omitempty" tf:"gpu_device,omitempty"` - - ImageStoragePool *string `json:"imageStoragePool,omitempty" tf:"image_storage_pool,omitempty"` - - Network *string `json:"network,omitempty" tf:"network,omitempty"` - - NetworkNames *string `json:"networkNames,omitempty" tf:"network_names,omitempty"` - - NetworkType *string `json:"networkType,omitempty" tf:"network_type,omitempty"` - - TargetStoragePool *string `json:"targetStoragePool,omitempty" tf:"target_storage_pool,omitempty"` -} - -type PlacementsParameters struct { - - // +kubebuilder:validation:Optional - ApplianceID *string `json:"applianceId" tf:"appliance_id,omitempty"` - - // +kubebuilder:validation:Optional - DataStoragePool *string `json:"dataStoragePool" tf:"data_storage_pool,omitempty"` - - // +kubebuilder:validation:Optional - GpuDevice []GpuDeviceParameters `json:"gpuDevice,omitempty" tf:"gpu_device,omitempty"` - - // +kubebuilder:validation:Optional - ImageStoragePool *string `json:"imageStoragePool" tf:"image_storage_pool,omitempty"` - - // +kubebuilder:validation:Optional - Network *string `json:"network,omitempty" tf:"network,omitempty"` - - // +kubebuilder:validation:Optional - NetworkNames *string `json:"networkNames" tf:"network_names,omitempty"` - - // +kubebuilder:validation:Optional - NetworkType *string `json:"networkType" tf:"network_type,omitempty"` - - // +kubebuilder:validation:Optional - TargetStoragePool *string `json:"targetStoragePool" tf:"target_storage_pool,omitempty"` -} - -// LibvirtSpec defines the desired state of Libvirt -type LibvirtSpec struct { - v1.ResourceSpec `json:",inline"` - ForProvider LibvirtParameters `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 LibvirtInitParameters `json:"initProvider,omitempty"` -} - -// LibvirtStatus defines the observed state of Libvirt. -type LibvirtStatus struct { - v1.ResourceStatus `json:",inline"` - AtProvider LibvirtObservation `json:"atProvider,omitempty"` -} - -// +kubebuilder:object:root=true -// +kubebuilder:subresource:status -// +kubebuilder:storageversion - -// Libvirt is the Schema for the Libvirts 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,palette} -type Libvirt 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.cloudConfig) || (has(self.initProvider) && has(self.initProvider.cloudConfig))",message="spec.forProvider.cloudConfig is a required parameter" - // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.machinePool) || (has(self.initProvider) && has(self.initProvider.machinePool))",message="spec.forProvider.machinePool is a required parameter" - Spec LibvirtSpec `json:"spec"` - Status LibvirtStatus `json:"status,omitempty"` -} - -// +kubebuilder:object:root=true - -// LibvirtList contains a list of Libvirts -type LibvirtList struct { - metav1.TypeMeta `json:",inline"` - metav1.ListMeta `json:"metadata,omitempty"` - Items []Libvirt `json:"items"` -} - -// Repository type metadata. -var ( - Libvirt_Kind = "Libvirt" - Libvirt_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Libvirt_Kind}.String() - Libvirt_KindAPIVersion = Libvirt_Kind + "." + CRDGroupVersion.String() - Libvirt_GroupVersionKind = CRDGroupVersion.WithKind(Libvirt_Kind) -) - -func init() { - SchemeBuilder.Register(&Libvirt{}, &LibvirtList{}) -} diff --git a/apis/cluster/v1alpha1/zz_maas_types.go b/apis/cluster/v1alpha1/zz_maas_types.go index ee57b2d..424f0c4 100755 --- a/apis/cluster/v1alpha1/zz_maas_types.go +++ b/apis/cluster/v1alpha1/zz_maas_types.go @@ -206,8 +206,8 @@ type MaasClusterProfilePackInitParameters struct { // The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + // The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. Type *string `json:"type,omitempty" tf:"type,omitempty"` // (String) The unique identifier of the pack. The value can be looked up using the spectrocloud_pack data source. This value is required if the pack type is spectro and for helm if the chart is from a public helm registry. @@ -274,8 +274,8 @@ type MaasClusterProfilePackObservation struct { // The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + // The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. Type *string `json:"type,omitempty" tf:"type,omitempty"` // (String) The unique identifier of the pack. The value can be looked up using the spectrocloud_pack data source. This value is required if the pack type is spectro and for helm if the chart is from a public helm registry. @@ -308,8 +308,8 @@ type MaasClusterProfilePackParameters struct { // +kubebuilder:validation:Optional Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + // The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. // +kubebuilder:validation:Optional Type *string `json:"type,omitempty" tf:"type,omitempty"` @@ -351,7 +351,7 @@ type MaasClusterRbacBindingInitParameters struct { // (Block List) (see below for nested schema) Subjects []MaasClusterRbacBindingSubjectsInitParameters `json:"subjects,omitempty" tf:"subjects,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -370,7 +370,7 @@ type MaasClusterRbacBindingObservation struct { // (Block List) (see below for nested schema) Subjects []MaasClusterRbacBindingSubjectsObservation `json:"subjects,omitempty" tf:"subjects,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -392,7 +392,7 @@ type MaasClusterRbacBindingParameters struct { // +kubebuilder:validation:Optional Subjects []MaasClusterRbacBindingSubjectsParameters `json:"subjects,omitempty" tf:"subjects,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. // +kubebuilder:validation:Optional Type *string `json:"type" tf:"type,omitempty"` @@ -408,7 +408,7 @@ type MaasClusterRbacBindingSubjectsInitParameters struct { // The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'. Namespace *string `json:"namespace,omitempty" tf:"namespace,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -423,7 +423,7 @@ type MaasClusterRbacBindingSubjectsObservation struct { // The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'. Namespace *string `json:"namespace,omitempty" tf:"namespace,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -440,7 +440,7 @@ type MaasClusterRbacBindingSubjectsParameters struct { // +kubebuilder:validation:Optional Namespace *string `json:"namespace,omitempty" tf:"namespace,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. // +kubebuilder:validation:Optional Type *string `json:"type" tf:"type,omitempty"` @@ -711,7 +711,7 @@ type MaasMachinePoolInitParameters struct { Count *float64 `json:"count,omitempty" tf:"count,omitempty"` // (Block List, Min: 1, Max: 1) (see below for nested schema) - InstanceType []MaasMachinePoolInstanceTypeInitParameters `json:"instanceType,omitempty" tf:"instance_type,omitempty"` + InstanceType []MachinePoolInstanceTypeInitParameters `json:"instanceType,omitempty" tf:"instance_type,omitempty"` // (Number) Maximum number of nodes in the machine pool. This is used for autoscaling the machine pool. // Maximum number of nodes in the machine pool. This is used for autoscaling the machine pool. @@ -748,41 +748,6 @@ type MaasMachinePoolInitParameters struct { UpdateStrategy *string `json:"updateStrategy,omitempty" tf:"update_strategy,omitempty"` } -type MaasMachinePoolInstanceTypeInitParameters struct { - - // (Number) Minimum number of CPU required for the machine pool node. - // Minimum number of CPU required for the machine pool node. - MinCPU *float64 `json:"minCpu,omitempty" tf:"min_cpu,omitempty"` - - // (Number) Minimum memory in MB required for the machine pool node. - // Minimum memory in MB required for the machine pool node. - MinMemoryMb *float64 `json:"minMemoryMb,omitempty" tf:"min_memory_mb,omitempty"` -} - -type MaasMachinePoolInstanceTypeObservation struct { - - // (Number) Minimum number of CPU required for the machine pool node. - // Minimum number of CPU required for the machine pool node. - MinCPU *float64 `json:"minCpu,omitempty" tf:"min_cpu,omitempty"` - - // (Number) Minimum memory in MB required for the machine pool node. - // Minimum memory in MB required for the machine pool node. - MinMemoryMb *float64 `json:"minMemoryMb,omitempty" tf:"min_memory_mb,omitempty"` -} - -type MaasMachinePoolInstanceTypeParameters struct { - - // (Number) Minimum number of CPU required for the machine pool node. - // Minimum number of CPU required for the machine pool node. - // +kubebuilder:validation:Optional - MinCPU *float64 `json:"minCpu" tf:"min_cpu,omitempty"` - - // (Number) Minimum memory in MB required for the machine pool node. - // Minimum memory in MB required for the machine pool node. - // +kubebuilder:validation:Optional - MinMemoryMb *float64 `json:"minMemoryMb" tf:"min_memory_mb,omitempty"` -} - type MaasMachinePoolNodeInitParameters struct { // (String) The action to perform on the node. Valid values are: cordon, uncordon. @@ -843,7 +808,7 @@ type MaasMachinePoolObservation struct { Count *float64 `json:"count,omitempty" tf:"count,omitempty"` // (Block List, Min: 1, Max: 1) (see below for nested schema) - InstanceType []MaasMachinePoolInstanceTypeObservation `json:"instanceType,omitempty" tf:"instance_type,omitempty"` + InstanceType []MachinePoolInstanceTypeObservation `json:"instanceType,omitempty" tf:"instance_type,omitempty"` // (Number) Maximum number of nodes in the machine pool. This is used for autoscaling the machine pool. // Maximum number of nodes in the machine pool. This is used for autoscaling the machine pool. @@ -911,7 +876,7 @@ type MaasMachinePoolParameters struct { // (Block List, Min: 1, Max: 1) (see below for nested schema) // +kubebuilder:validation:Optional - InstanceType []MaasMachinePoolInstanceTypeParameters `json:"instanceType" tf:"instance_type,omitempty"` + InstanceType []MachinePoolInstanceTypeParameters `json:"instanceType" tf:"instance_type,omitempty"` // (Number) Maximum number of nodes in the machine pool. This is used for autoscaling the machine pool. // Maximum number of nodes in the machine pool. This is used for autoscaling the machine pool. @@ -1326,6 +1291,41 @@ type MaasScanPolicyParameters struct { PenetrationScanSchedule *string `json:"penetrationScanSchedule" tf:"penetration_scan_schedule,omitempty"` } +type MachinePoolInstanceTypeInitParameters struct { + + // (Number) Minimum number of CPU required for the machine pool node. + // Minimum number of CPU required for the machine pool node. + MinCPU *float64 `json:"minCpu,omitempty" tf:"min_cpu,omitempty"` + + // (Number) Minimum memory in MB required for the machine pool node. + // Minimum memory in MB required for the machine pool node. + MinMemoryMb *float64 `json:"minMemoryMb,omitempty" tf:"min_memory_mb,omitempty"` +} + +type MachinePoolInstanceTypeObservation struct { + + // (Number) Minimum number of CPU required for the machine pool node. + // Minimum number of CPU required for the machine pool node. + MinCPU *float64 `json:"minCpu,omitempty" tf:"min_cpu,omitempty"` + + // (Number) Minimum memory in MB required for the machine pool node. + // Minimum memory in MB required for the machine pool node. + MinMemoryMb *float64 `json:"minMemoryMb,omitempty" tf:"min_memory_mb,omitempty"` +} + +type MachinePoolInstanceTypeParameters struct { + + // (Number) Minimum number of CPU required for the machine pool node. + // Minimum number of CPU required for the machine pool node. + // +kubebuilder:validation:Optional + MinCPU *float64 `json:"minCpu" tf:"min_cpu,omitempty"` + + // (Number) Minimum memory in MB required for the machine pool node. + // Minimum memory in MB required for the machine pool node. + // +kubebuilder:validation:Optional + MinMemoryMb *float64 `json:"minMemoryMb" tf:"min_memory_mb,omitempty"` +} + type MachinePoolPlacementInitParameters struct { // (String) The name of the resource pool in the Maas cloud. diff --git a/apis/cluster/v1alpha1/zz_openstack_types.go b/apis/cluster/v1alpha1/zz_openstack_types.go index 2dfd9db..075a556 100755 --- a/apis/cluster/v1alpha1/zz_openstack_types.go +++ b/apis/cluster/v1alpha1/zz_openstack_types.go @@ -279,8 +279,8 @@ type OpenstackClusterProfilePackInitParameters struct { // The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + // The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. Type *string `json:"type,omitempty" tf:"type,omitempty"` // (String) The unique identifier of the pack. The value can be looked up using the spectrocloud_pack data source. This value is required if the pack type is spectro and for helm if the chart is from a public helm registry. @@ -347,8 +347,8 @@ type OpenstackClusterProfilePackObservation struct { // The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + // The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. Type *string `json:"type,omitempty" tf:"type,omitempty"` // (String) The unique identifier of the pack. The value can be looked up using the spectrocloud_pack data source. This value is required if the pack type is spectro and for helm if the chart is from a public helm registry. @@ -381,8 +381,8 @@ type OpenstackClusterProfilePackParameters struct { // +kubebuilder:validation:Optional Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + // The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. // +kubebuilder:validation:Optional Type *string `json:"type,omitempty" tf:"type,omitempty"` @@ -424,7 +424,7 @@ type OpenstackClusterRbacBindingInitParameters struct { // (Block List) (see below for nested schema) Subjects []OpenstackClusterRbacBindingSubjectsInitParameters `json:"subjects,omitempty" tf:"subjects,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -443,7 +443,7 @@ type OpenstackClusterRbacBindingObservation struct { // (Block List) (see below for nested schema) Subjects []OpenstackClusterRbacBindingSubjectsObservation `json:"subjects,omitempty" tf:"subjects,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -465,7 +465,7 @@ type OpenstackClusterRbacBindingParameters struct { // +kubebuilder:validation:Optional Subjects []OpenstackClusterRbacBindingSubjectsParameters `json:"subjects,omitempty" tf:"subjects,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. // +kubebuilder:validation:Optional Type *string `json:"type" tf:"type,omitempty"` @@ -481,7 +481,7 @@ type OpenstackClusterRbacBindingSubjectsInitParameters struct { // The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'. Namespace *string `json:"namespace,omitempty" tf:"namespace,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -496,7 +496,7 @@ type OpenstackClusterRbacBindingSubjectsObservation struct { // The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'. Namespace *string `json:"namespace,omitempty" tf:"namespace,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -513,7 +513,7 @@ type OpenstackClusterRbacBindingSubjectsParameters struct { // +kubebuilder:validation:Optional Namespace *string `json:"namespace,omitempty" tf:"namespace,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. // +kubebuilder:validation:Optional Type *string `json:"type" tf:"type,omitempty"` diff --git a/apis/cluster/v1alpha1/zz_profile_types.go b/apis/cluster/v1alpha1/zz_profile_types.go index 903d7df..9e1160f 100755 --- a/apis/cluster/v1alpha1/zz_profile_types.go +++ b/apis/cluster/v1alpha1/zz_profile_types.go @@ -15,8 +15,8 @@ import ( type ProfileInitParameters struct { - // all, aws, azure, gcp, vsphere, openstack, maas, virtual, baremetal, eks, aks, edge, edge-native, libvirt, tencent, tke, coxedge, generic, and gke,If the value is set to all, then the type must be set to add-on. Otherwise, the cluster profile may be incompatible with other providers. Default value is all. - // Specify the infrastructure provider the cluster profile is for. Only Palette supported infrastructure providers can be used. The supported cloud types are - `all, aws, azure, gcp, vsphere, openstack, maas, virtual, baremetal, eks, aks, edge, edge-native, libvirt, tencent, tke, coxedge, generic, and gke`,If the value is set to `all`, then the type must be set to `add-on`. Otherwise, the cluster profile may be incompatible with other providers. Default value is `all`. + // all, aws, azure, gcp, vsphere, openstack, maas, virtual, baremetal, eks, aks, edge, edge-native, tencent, tke, generic, and gke,If the value is set to all, then the type must be set to add-on. Otherwise, the cluster profile may be incompatible with other providers. Default value is all. + // Specify the infrastructure provider the cluster profile is for. Only Palette supported infrastructure providers can be used. The supported cloud types are - `all, aws, azure, gcp, vsphere, openstack, maas, virtual, baremetal, eks, aks, edge, edge-native, tencent, tke, generic, and gke`,If the value is set to `all`, then the type must be set to `add-on`. Otherwise, the cluster profile may be incompatible with other providers. Default value is `all`. Cloud *string `json:"cloud,omitempty" tf:"cloud,omitempty"` // (String) The context of the cluster profile. Allowed values are project or tenant. Default value is project. If the project context is specified, the project name will sourced from the provider configuration parameter project_name. @@ -50,8 +50,8 @@ type ProfileInitParameters struct { type ProfileObservation struct { - // all, aws, azure, gcp, vsphere, openstack, maas, virtual, baremetal, eks, aks, edge, edge-native, libvirt, tencent, tke, coxedge, generic, and gke,If the value is set to all, then the type must be set to add-on. Otherwise, the cluster profile may be incompatible with other providers. Default value is all. - // Specify the infrastructure provider the cluster profile is for. Only Palette supported infrastructure providers can be used. The supported cloud types are - `all, aws, azure, gcp, vsphere, openstack, maas, virtual, baremetal, eks, aks, edge, edge-native, libvirt, tencent, tke, coxedge, generic, and gke`,If the value is set to `all`, then the type must be set to `add-on`. Otherwise, the cluster profile may be incompatible with other providers. Default value is `all`. + // all, aws, azure, gcp, vsphere, openstack, maas, virtual, baremetal, eks, aks, edge, edge-native, tencent, tke, generic, and gke,If the value is set to all, then the type must be set to add-on. Otherwise, the cluster profile may be incompatible with other providers. Default value is all. + // Specify the infrastructure provider the cluster profile is for. Only Palette supported infrastructure providers can be used. The supported cloud types are - `all, aws, azure, gcp, vsphere, openstack, maas, virtual, baremetal, eks, aks, edge, edge-native, tencent, tke, generic, and gke`,If the value is set to `all`, then the type must be set to `add-on`. Otherwise, the cluster profile may be incompatible with other providers. Default value is `all`. Cloud *string `json:"cloud,omitempty" tf:"cloud,omitempty"` // (String) The context of the cluster profile. Allowed values are project or tenant. Default value is project. If the project context is specified, the project name will sourced from the provider configuration parameter project_name. @@ -104,7 +104,7 @@ type ProfilePackInitParameters struct { Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` // on, and system. These values map to the following User Interface (UI) labels. Use the value ' cluster ' for a Full cluster profile.For an Infrastructure cluster profile, use the value infra; for an Add-on cluster profile, use the value add-on.System cluster profiles can be specified using the value system. To learn more about cluster profiles, refer to the Cluster Profile documentation. Default value is add-on. - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + // The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. Type *string `json:"type,omitempty" tf:"type,omitempty"` // (String) The unique identifier of the pack. The value can be looked up using the spectrocloud_pack data source. This value is required if the pack type is spectro and for helm if the chart is from a public helm registry. @@ -172,7 +172,7 @@ type ProfilePackObservation struct { Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` // on, and system. These values map to the following User Interface (UI) labels. Use the value ' cluster ' for a Full cluster profile.For an Infrastructure cluster profile, use the value infra; for an Add-on cluster profile, use the value add-on.System cluster profiles can be specified using the value system. To learn more about cluster profiles, refer to the Cluster Profile documentation. Default value is add-on. - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + // The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. Type *string `json:"type,omitempty" tf:"type,omitempty"` // (String) The unique identifier of the pack. The value can be looked up using the spectrocloud_pack data source. This value is required if the pack type is spectro and for helm if the chart is from a public helm registry. @@ -206,7 +206,7 @@ type ProfilePackParameters struct { Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` // on, and system. These values map to the following User Interface (UI) labels. Use the value ' cluster ' for a Full cluster profile.For an Infrastructure cluster profile, use the value infra; for an Add-on cluster profile, use the value add-on.System cluster profiles can be specified using the value system. To learn more about cluster profiles, refer to the Cluster Profile documentation. Default value is add-on. - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + // The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. // +kubebuilder:validation:Optional Type *string `json:"type,omitempty" tf:"type,omitempty"` @@ -223,8 +223,8 @@ type ProfilePackParameters struct { type ProfileParameters struct { - // all, aws, azure, gcp, vsphere, openstack, maas, virtual, baremetal, eks, aks, edge, edge-native, libvirt, tencent, tke, coxedge, generic, and gke,If the value is set to all, then the type must be set to add-on. Otherwise, the cluster profile may be incompatible with other providers. Default value is all. - // Specify the infrastructure provider the cluster profile is for. Only Palette supported infrastructure providers can be used. The supported cloud types are - `all, aws, azure, gcp, vsphere, openstack, maas, virtual, baremetal, eks, aks, edge, edge-native, libvirt, tencent, tke, coxedge, generic, and gke`,If the value is set to `all`, then the type must be set to `add-on`. Otherwise, the cluster profile may be incompatible with other providers. Default value is `all`. + // all, aws, azure, gcp, vsphere, openstack, maas, virtual, baremetal, eks, aks, edge, edge-native, tencent, tke, generic, and gke,If the value is set to all, then the type must be set to add-on. Otherwise, the cluster profile may be incompatible with other providers. Default value is all. + // Specify the infrastructure provider the cluster profile is for. Only Palette supported infrastructure providers can be used. The supported cloud types are - `all, aws, azure, gcp, vsphere, openstack, maas, virtual, baremetal, eks, aks, edge, edge-native, tencent, tke, generic, and gke`,If the value is set to `all`, then the type must be set to `add-on`. Otherwise, the cluster profile may be incompatible with other providers. Default value is `all`. // +kubebuilder:validation:Optional Cloud *string `json:"cloud,omitempty" tf:"cloud,omitempty"` diff --git a/apis/cluster/v1alpha1/zz_tke_types.go b/apis/cluster/v1alpha1/zz_tke_types.go index 0f40765..ba188ca 100755 --- a/apis/cluster/v1alpha1/zz_tke_types.go +++ b/apis/cluster/v1alpha1/zz_tke_types.go @@ -215,7 +215,7 @@ type TkeClusterProfilePackInitParameters struct { // The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + // The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. Type *string `json:"type,omitempty" tf:"type,omitempty"` // The unique identifier of the pack. The value can be looked up using the [`spectrocloud_pack`](https://registry.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) data source. This value is required if the pack type is `spectro` and for `helm` if the chart is from a public helm registry. @@ -268,7 +268,7 @@ type TkeClusterProfilePackObservation struct { // The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + // The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. Type *string `json:"type,omitempty" tf:"type,omitempty"` // The unique identifier of the pack. The value can be looked up using the [`spectrocloud_pack`](https://registry.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) data source. This value is required if the pack type is `spectro` and for `helm` if the chart is from a public helm registry. @@ -295,7 +295,7 @@ type TkeClusterProfilePackParameters struct { // +kubebuilder:validation:Optional Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + // The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. // +kubebuilder:validation:Optional Type *string `json:"type,omitempty" tf:"type,omitempty"` diff --git a/apis/cluster/v1alpha1/zz_vsphere_types.go b/apis/cluster/v1alpha1/zz_vsphere_types.go index 33dfc80..5b66bfa 100755 --- a/apis/cluster/v1alpha1/zz_vsphere_types.go +++ b/apis/cluster/v1alpha1/zz_vsphere_types.go @@ -253,7 +253,7 @@ type VsphereClusterProfilePackInitParameters struct { // The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + // The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. Type *string `json:"type,omitempty" tf:"type,omitempty"` // The unique identifier of the pack. The value can be looked up using the [`spectrocloud_pack`](https://registry.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) data source. This value is required if the pack type is `spectro` and for `helm` if the chart is from a public helm registry. @@ -306,7 +306,7 @@ type VsphereClusterProfilePackObservation struct { // The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + // The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. Type *string `json:"type,omitempty" tf:"type,omitempty"` // The unique identifier of the pack. The value can be looked up using the [`spectrocloud_pack`](https://registry.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) data source. This value is required if the pack type is `spectro` and for `helm` if the chart is from a public helm registry. @@ -333,7 +333,7 @@ type VsphereClusterProfilePackParameters struct { // +kubebuilder:validation:Optional Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + // The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. // +kubebuilder:validation:Optional Type *string `json:"type,omitempty" tf:"type,omitempty"` diff --git a/apis/virtual/v1alpha1/zz_cluster_types.go b/apis/virtual/v1alpha1/zz_cluster_types.go index 37ae486..ebf821a 100755 --- a/apis/virtual/v1alpha1/zz_cluster_types.go +++ b/apis/virtual/v1alpha1/zz_cluster_types.go @@ -529,7 +529,7 @@ type ClusterRbacBindingInitParameters struct { // (Block List) (see below for nested schema) Subjects []SubjectsInitParameters `json:"subjects,omitempty" tf:"subjects,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -548,7 +548,7 @@ type ClusterRbacBindingObservation struct { // (Block List) (see below for nested schema) Subjects []SubjectsObservation `json:"subjects,omitempty" tf:"subjects,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -570,7 +570,7 @@ type ClusterRbacBindingParameters struct { // +kubebuilder:validation:Optional Subjects []SubjectsParameters `json:"subjects,omitempty" tf:"subjects,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. // +kubebuilder:validation:Optional Type *string `json:"type" tf:"type,omitempty"` @@ -709,8 +709,8 @@ type PackInitParameters struct { // The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + // The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. Type *string `json:"type,omitempty" tf:"type,omitempty"` // (String) The unique identifier of the pack. The value can be looked up using the spectrocloud_pack data source. This value is required if the pack type is spectro and for helm if the chart is from a public helm registry. @@ -739,8 +739,8 @@ type PackObservation struct { // The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + // The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. Type *string `json:"type,omitempty" tf:"type,omitempty"` // (String) The unique identifier of the pack. The value can be looked up using the spectrocloud_pack data source. This value is required if the pack type is spectro and for helm if the chart is from a public helm registry. @@ -773,8 +773,8 @@ type PackParameters struct { // +kubebuilder:validation:Optional Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - // The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + // The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. // +kubebuilder:validation:Optional Type *string `json:"type,omitempty" tf:"type,omitempty"` @@ -916,7 +916,7 @@ type SubjectsInitParameters struct { // The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'. Namespace *string `json:"namespace,omitempty" tf:"namespace,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -931,7 +931,7 @@ type SubjectsObservation struct { // The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'. Namespace *string `json:"namespace,omitempty" tf:"namespace,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -948,7 +948,7 @@ type SubjectsParameters struct { // +kubebuilder:validation:Optional Namespace *string `json:"namespace,omitempty" tf:"namespace,omitempty"` - // (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + // (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. // The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. // +kubebuilder:validation:Optional Type *string `json:"type" tf:"type,omitempty"` diff --git a/config/provider-metadata.yaml b/config/provider-metadata.yaml index 8a6a5f2..fa7b68c 100644 --- a/config/provider-metadata.yaml +++ b/config/provider-metadata.yaml @@ -19,7 +19,7 @@ resources: registry_uid: (String) The registry UID of the pack. The registry UID is the unique identifier of the registry. This attribute is required if there is more than one registry that contains a pack with the same name. tag: (String) The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is spectro or helm. timeouts: (Block, Optional) (see below for nested schema) - type: (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + type: (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. uid: (String) The unique identifier of the pack. The value can be looked up using the spectrocloud_pack data source. This value is required if the pack type is spectro and for helm if the chart is from a public helm registry. update: (String) values: (String) The values of the pack. The values are the configuration values of the pack. The values are specified in YAML format. @@ -749,7 +749,7 @@ resources: tags: (Set of String) A list of tags to be applied to the cluster. Tags must be in the form of key:value. taints: (Block List) (see below for nested schema) timeouts: (Block, Optional) (see below for nested schema) - type: (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + type: (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. uid: (String) The unique identifier of the pack. The value can be looked up using the spectrocloud_pack data source. This value is required if the pack type is spectro and for helm if the chart is from a public helm registry. update: (String) update_strategy: (String) Update strategy for the machine pool. Valid values are RollingUpdateScaleOut and RollingUpdateScaleIn. @@ -932,7 +932,7 @@ resources: tags: (Set of String) A list of tags to be applied to the cluster. Tags must be in the form of key:value. taints: (Block List) (see below for nested schema) timeouts: (Block, Optional) (see below for nested schema) - type: (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + type: (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. uid: (String) The unique identifier of the pack. The value can be looked up using the spectrocloud_pack data source. This value is required if the pack type is spectro and for helm if the chart is from a public helm registry. update: (String) update_strategy: (String) Update strategy for the machine pool. Valid values are RollingUpdateScaleOut and RollingUpdateScaleIn. @@ -1285,7 +1285,7 @@ resources: tag: (String) The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is spectro or helm. tags: (Set of String) A list of tags to be applied to the cluster. Tags must be in the form of key:value. timeouts: (Block, Optional) (see below for nested schema) - type: (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + type: (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. uid: (String) The unique identifier of the pack. The value can be looked up using the spectrocloud_pack data source. This value is required if the pack type is spectro and for helm if the chart is from a public helm registry. update: (String) values: (String) The values of the cloud config. The values are specified in YAML format. @@ -1423,7 +1423,7 @@ resources: taints: (Block List) (see below for nested schema) timeouts: (Block, Optional) (see below for nested schema) two_node_role: (String) Two node role for edge host. Valid values are primary and secondary. - type: (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + type: (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. uid: (String) The unique identifier of the pack. The value can be looked up using the spectrocloud_pack data source. This value is required if the pack type is spectro and for helm if the chart is from a public helm registry. update: (String) update_strategy: (String) Update strategy for the machine pool. Valid values are RollingUpdateScaleOut and RollingUpdateScaleIn. @@ -1526,7 +1526,7 @@ resources: tags: (Set of String) A list of tags to be applied to the cluster. Tags must be in the form of key:value. taints: (Block List) (see below for nested schema) timeouts: (Block, Optional) (see below for nested schema) - type: (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + type: (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. uid: (String) The unique identifier of the pack. The value can be looked up using the spectrocloud_pack data source. This value is required if the pack type is spectro and for helm if the chart is from a public helm registry. update: (String) update_strategy: (String) Update strategy for the machine pool. Valid values are RollingUpdateScaleOut and RollingUpdateScaleIn. @@ -1692,7 +1692,7 @@ resources: tags: (Set of String) A list of tags to be applied to the cluster. Tags must be in the form of key:value. taints: (Block List) (see below for nested schema) timeouts: (Block, Optional) (see below for nested schema) - type: (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + type: (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. uid: (String) The unique identifier of the pack. The value can be looked up using the spectrocloud_pack data source. This value is required if the pack type is spectro and for helm if the chart is from a public helm registry. update: (String) update_strategy: (String) Update strategy for the machine pool. Valid values are RollingUpdateScaleOut and RollingUpdateScaleIn. @@ -1837,7 +1837,7 @@ resources: tags: (Set of String) A list of tags to be applied to the cluster. Tags must be in the form of key:value. taints: (Block List) (see below for nested schema) timeouts: (Block, Optional) (see below for nested schema) - type: (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + type: (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. uid: (String) The unique identifier of the pack. The value can be looked up using the spectrocloud_pack data source. This value is required if the pack type is spectro and for helm if the chart is from a public helm registry. update: (String) update_strategy: (String) Update strategy for the machine pool. Valid values are RollingUpdateScaleOut and RollingUpdateScaleIn. @@ -1962,7 +1962,7 @@ resources: tags: (Set of String) A list of tags to be applied to the cluster. Tags must be in the form of key:value. taints: (Block List) (see below for nested schema) timeouts: (Block, Optional) (see below for nested schema) - type: (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + type: (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. uid: (String) The unique identifier of the pack. The value can be looked up using the spectrocloud_pack data source. This value is required if the pack type is spectro and for helm if the chart is from a public helm registry. update: (String) update_strategy: (String) Update strategy for the machine pool. Valid values are RollingUpdateScaleOut and RollingUpdateScaleIn. @@ -2026,7 +2026,7 @@ resources: tag: (String) The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is spectro or helm. tags: (Set of String) A list of tags to be applied to the cluster group. Tags must be in the form of key:value. timeouts: (Block, Optional) (see below for nested schema) - type: (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + type: (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. uid: (String) The unique identifier of the pack. The value can be looked up using the spectrocloud_pack data source. This value is required if the pack type is spectro and for helm if the chart is from a public helm registry. update: (String) values: (String) @@ -2070,125 +2070,11 @@ resources: tag: (String) The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is spectro or helm. tags: (Set of String) A list of tags to be applied to the cluster. Tags must be in the form of key:value. timeouts: (Block, Optional) (see below for nested schema) - type: (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + type: (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. uid: (String) The unique identifier of the pack. The value can be looked up using the spectrocloud_pack data source. This value is required if the pack type is spectro and for helm if the chart is from a public helm registry. update: (String) values: (String) The values of the pack. The values are the configuration values of the pack. The values are specified in YAML format. importStatements: [] - spectrocloud_cluster_libvirt Resource - terraform-provider-spectrocloud: - subCategory: "" - description: Resource for managing Libvirt clusters in Spectro Cloud through Palette. - name: spectrocloud_cluster_libvirt Resource - terraform-provider-spectrocloud - title: spectrocloud_cluster_libvirt Resource - terraform-provider-spectrocloud - argumentDocs: - action: '(String) The action to perform on the node. Valid values are: cordon, uncordon.' - additional_labels: (Map of String) - addresses: (Map of String) - admin_kube_config: (String) Admin Kube-config for the cluster. This can be used to connect to the cluster using kubectl, With admin privilege. - appliance_id: (String) - apply_setting: (String) The setting to apply the cluster profile. DownloadAndInstall will download and install packs in one action. DownloadAndInstallLater will only download artifact and postpone install for later. Default value is DownloadAndInstall. - attached_disks: (Block List) (see below for nested schema) - backup_location_id: (String) The ID of the backup location to use for the backup. - backup_policy: '(Block List, Max: 1) The backup policy for the cluster. If not specified, no backups will be taken. (see below for nested schema)' - cache_passthrough: (Boolean) - cloud_account_id: (String) - cloud_config: '(Block List, Min: 1, Max: 1) (see below for nested schema)' - cloud_config_id: (String, Deprecated) ID of the cloud config used for the cluster. This cloud config must be of type azure. - cluster_meta_attribute: '(String) cluster_meta_attribute can be used to set additional cluster metadata information, eg {''nic_name'': ''test'', ''env'': ''stage''}' - cluster_profile: (Block List) (see below for nested schema) - cluster_rbac_binding: (Block List) The RBAC binding for the cluster. (see below for nested schema) - cluster_uids: (Set of String) The list of cluster UIDs to include in the backup. If include_all_clusters is set to true, then all clusters will be included. - configuration_scan_schedule: (String) The schedule for configuration scan. - conformance_scan_schedule: (String) The schedule for conformance scan. - content: (String) The content of the manifest. The content is the YAML content of the manifest. - context: (String) The context of the Libvirt cluster. Allowed values are project or tenant. Default is project. If the project context is specified, the project name will sourced from the provider configuration parameter project_name. - control_plane: (Boolean) Whether this machine pool is a control plane. Defaults to false. - control_plane_as_worker: (Boolean) Whether this machine pool is a control plane and a worker. Defaults to false. - count: (Number) Number of nodes in the machine pool. - country_code: (String) The country code of the country the cluster is located in. - country_name: (String) The name of the country. - cpu: (Number) - cpus_sets: (String) - create: (String) - data_storage_pool: (String) - delete: (String) - description: (String) The description of the cluster. Default value is empty string. - device_model: (String) - disk_size_gb: (Number) - effect: '(String) The effect of the taint. Allowed values are: NoSchedule, PreferNoSchedule or NoExecute.' - expiry_in_hour: (Number) The number of hours after which the backup will be deleted. For example, if the expiry is set to 24, the backup will be deleted after 24 hours. - external_traffic_policy: (String) The external traffic policy for the cluster. - force_delete: (Boolean) If set to true, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources. - force_delete_delay: (Number) Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20. - gpu_config: (Block List) (see below for nested schema) - gpu_device: (Block List) (see below for nested schema) - host_config: (Block List) The host configuration for the cluster. (see below for nested schema) - host_endpoint_type: (String) The type of endpoint for the cluster. Can be either 'Ingress' or 'LoadBalancer'. The default is 'Ingress'. - id: (String) The ID of this resource. - image_storage_pool: (String) - images_blacklist: (List of String) List of images to disallow for the namespace. For example, ['nginx:latest', 'redis:latest'] - include_all_clusters: (Boolean) Whether to include all clusters in the backup. If set to false, only the clusters specified in cluster_uids will be included. - include_cluster_resources: (Boolean) Whether to include the cluster resources in the backup. If set to false, only the cluster configuration and disks will be backed up. - include_disks: (Boolean) Whether to include the disks in the backup. If set to false, only the cluster configuration will be backed up. - ingress_host: (String) The host for the Ingress endpoint. Required if 'host_endpoint_type' is set to 'Ingress'. - instance_type: '(Block List, Min: 1, Max: 1) (see below for nested schema)' - key: (String) The key of the taint. - kubeconfig: (String) Kubeconfig for the cluster. This can be used to connect to the cluster using kubectl. - latitude: (Number) The latitude coordinates value. - load_balancer_source_ranges: (String) The source ranges for the load balancer. Required if 'host_endpoint_type' is set to 'LoadBalancer'. - location_config: (Block List) (see below for nested schema) - longitude: (Number) The longitude coordinates value. - machine_pool: '(Block List, Min: 1) (see below for nested schema)' - managed: (Boolean) - manifest: (Block List) (see below for nested schema) - memory_mb: (Number) - name: (String) - namespace: (String) The Kubernetes namespace of the RBAC binding. Required if 'type' is set to 'RoleBinding'. - namespaces: (Block List) The namespaces for the cluster. (see below for nested schema) - network: (String) - network_names: (String) - network_search_domain: (String) The search domain to use for the cluster in case of DHCP. - network_type: (String) The type of network to use for the cluster. This can be VIP or DDNS. - node: (Block List) (see below for nested schema) - node_id: (String) The node_id of the node, For example i-07f899a33dee624f7 - node_repave_interval: (Number) Minimum number of seconds node should be Ready, before the next node is selected for repave. Default value is 0, Applicable only for worker pools. - ntp_servers: (Set of String) - num_gpus: (Number) - os_patch_after: '(String) Date and time after which to patch cluster RFC3339: 2006-01-02T15:04:05Z07:00' - os_patch_on_boot: (Boolean) Whether to apply OS patch on boot. Default is false. - os_patch_schedule: (String) Cron schedule for OS patching. This must be in the form of 0 0 * * *. - pack: (Block List) For packs of type spectro, helm, and manifest, at least one pack must be specified. (see below for nested schema) - pause_agent_upgrades: (String) The pause agent upgrades setting allows to control the automatic upgrade of the Palette component and agent for an individual cluster. The default value is unlock, meaning upgrades occur automatically. Setting it to lock pauses automatic agent upgrades for the cluster. - penetration_scan_schedule: (String) The schedule for penetration scan. - placements: '(Block List, Min: 1) (see below for nested schema)' - prefix: (String) Prefix for the backup name. The backup name will be of the format --. - region_code: (String) The region code of where the cluster is located in. - region_name: (String) The name of the region. - registry_uid: (String) The registry UID of the pack. The registry UID is the unique identifier of the registry. This attribute is required if there is more than one registry that contains a pack with the same name. - resource_allocation: '(Map of String) Resource allocation for the namespace. This is a map containing the resource type and the resource value. For example, {cpu_cores: ''2'', memory_MiB: ''2048''}' - review_repave_state: (String) To authorize the cluster repave, set the value to Approved for approval and "" to decline. Default value is "". - role: (Map of String) The role of the RBAC binding. Required if 'type' is set to 'RoleBinding'. - scan_policy: '(Block List, Max: 1) The scan policy for the cluster. (see below for nested schema)' - schedule: (String) The schedule for the backup. The schedule is specified in cron format. For example, to run the backup every day at 1:00 AM, the schedule should be set to 0 1 * * *. - size_in_gb: (Number) - skip_completion: (Boolean) If true, the cluster will be created asynchronously. Default value is false. - ssh_keys: (Set of String) List of public SSH (Secure Shell) to establish, administer, and communicate with remote clusters. - subjects: (Block List) (see below for nested schema) - tag: (String) The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is spectro or helm. - tags: (Set of String) A list of tags to be applied to the cluster. Tags must be in the form of key:value. - taints: (Block List) (see below for nested schema) - target_storage_pool: (String) - timeouts: (Block, Optional) (see below for nested schema) - type: (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - uid: (String) The unique identifier of the pack. The value can be looked up using the spectrocloud_pack data source. This value is required if the pack type is spectro and for helm if the chart is from a public helm registry. - update: (String) - update_strategy: (String) Update strategy for the machine pool. Valid values are RollingUpdateScaleOut and RollingUpdateScaleIn. - value: (String) The value of the taint. - values: (String) The values of the pack. The values are the configuration values of the pack. The values are specified in YAML format. - vendor: (String) - vip: (String) - xsl_template: (String) XSL template to use. - importStatements: [] spectrocloud_cluster_maas: subCategory: "" description: Resource for managing MAAS clusters in Spectro Cloud through Palette. @@ -2335,7 +2221,7 @@ resources: tags: (Set of String) A list of tags to be applied to the cluster. Tags must be in the form of key:value. taints: (Block List) (see below for nested schema) timeouts: (Block, Optional) (see below for nested schema) - type: (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + type: (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. uid: (String) The unique identifier of the pack. The value can be looked up using the spectrocloud_pack data source. This value is required if the pack type is spectro and for helm if the chart is from a public helm registry. update: (String) update_strategy: (String) Update strategy for the machine pool. Valid values are RollingUpdateScaleOut and RollingUpdateScaleIn. @@ -2500,7 +2386,7 @@ resources: tags: (Set of String) A list of tags to be applied to the cluster. Tags must be in the form of key:value. taints: (Block List) (see below for nested schema) timeouts: (Block, Optional) (see below for nested schema) - type: (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + type: (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. uid: (String) The unique identifier of the pack. The value can be looked up using the spectrocloud_pack data source. This value is required if the pack type is spectro and for helm if the chart is from a public helm registry. update: (String) update_strategy: (String) Update strategy for the machine pool. Valid values are RollingUpdateScaleOut and RollingUpdateScaleIn. @@ -2572,7 +2458,7 @@ resources: pack.uid: data.spectrocloud_pack.csi.id pack.values: local.proxy_val argumentDocs: - cloud: (String) Specify the infrastructure provider the cluster profile is for. Only Palette supported infrastructure providers can be used. The supported cloud types are - all, aws, azure, gcp, vsphere, openstack, maas, virtual, baremetal, eks, aks, edge, edge-native, libvirt, tencent, tke, coxedge, generic, and gke,If the value is set to all, then the type must be set to add-on. Otherwise, the cluster profile may be incompatible with other providers. Default value is all. + cloud: (String) Specify the infrastructure provider the cluster profile is for. Only Palette supported infrastructure providers can be used. The supported cloud types are - all, aws, azure, gcp, vsphere, openstack, maas, virtual, baremetal, eks, aks, edge, edge-native, tencent, tke, generic, and gke,If the value is set to all, then the type must be set to add-on. Otherwise, the cluster profile may be incompatible with other providers. Default value is all. content: (String) The content of the manifest. The content is the YAML content of the manifest. context: (String) The context of the cluster profile. Allowed values are project or tenant. Default value is project. If the project context is specified, the project name will sourced from the provider configuration parameter project_name. create: (String) @@ -2702,7 +2588,7 @@ resources: tags: (Set of String) A list of tags to be applied to the cluster. Tags must be in the form of key:value. taints: (Block List) (see below for nested schema) timeouts: (Block, Optional) (see below for nested schema) - type: (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + type: (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. uid: (String) The unique identifier of the pack. The value can be looked up using the spectrocloud_pack data source. This value is required if the pack type is spectro and for helm if the chart is from a public helm registry. update: (String) update_strategy: (String) Update strategy for the machine pool. Valid values are RollingUpdateScaleOut and RollingUpdateScaleIn. @@ -2810,7 +2696,7 @@ resources: tags: (Set of String) A list of tags to be applied to the cluster. Tags must be in the form of key:value. taints: (Block List) (see below for nested schema) timeouts: (Block, Optional) (see below for nested schema) - type: (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + type: (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. uid: (String) The unique identifier of the pack. The value can be looked up using the spectrocloud_pack data source. This value is required if the pack type is spectro and for helm if the chart is from a public helm registry. update: (String) update_strategy: (String) Update strategy for the machine pool. Valid values are RollingUpdateScaleOut and RollingUpdateScaleIn. @@ -3250,7 +3136,7 @@ resources: tag: (String) The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is spectro or helm. tags: (Set of String) A list of tags to be applied to the cluster. Tags must be in the form of key:value. timeouts: (Block, Optional) (see below for nested schema) - type: (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + type: (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. uid: (String) The unique identifier of the pack. The value can be looked up using the spectrocloud_pack data source. This value is required if the pack type is spectro and for helm if the chart is from a public helm registry. update: (String) values: (String) The values of the pack. The values are the configuration values of the pack. The values are specified in YAML format. diff --git a/config/schema.json b/config/schema.json index 331b376..29ef516 100644 --- a/config/schema.json +++ b/config/schema.json @@ -1 +1 @@ -{"format_version":"1.0","provider_schemas":{"registry.terraform.io/spectrocloud/spectrocloud":{"provider":{"version":0,"block":{"attributes":{"api_key":{"type":"string","description":"The Spectro Cloud API key. Can also be set with the `SPECTROCLOUD_APIKEY` environment variable.","description_kind":"plain","optional":true,"sensitive":true},"host":{"type":"string","description":"The Spectro Cloud API host url. Can also be set with the `SPECTROCLOUD_HOST` environment variable. Defaults to https://api.spectrocloud.com","description_kind":"plain","optional":true},"ignore_insecure_tls_error":{"type":"bool","description":"Ignore insecure TLS errors for Spectro Cloud API endpoints. Defaults to false.","description_kind":"plain","optional":true},"project_name":{"type":"string","description":"The Palette project the provider will target. If no value is provided, the `Default` Palette project is used. The default value is `Default`.","description_kind":"plain","optional":true},"retry_attempts":{"type":"number","description":"Number of retry attempts. Can also be set with the `SPECTROCLOUD_RETRY_ATTEMPTS` environment variable. Defaults to 10.","description_kind":"plain","optional":true},"trace":{"type":"bool","description":"Enable HTTP request tracing. Can also be set with the `SPECTROCLOUD_TRACE` environment variable. To enable Terraform debug logging, set `TF_LOG=DEBUG`. Visit the Terraform documentation to learn more about Terraform [debugging](https://developer.hashicorp.com/terraform/plugin/log/managing).","description_kind":"plain","optional":true}},"description_kind":"plain"}},"resource_schemas":{"spectrocloud_addon_deployment":{"version":2,"block":{"attributes":{"apply_setting":{"type":"string","description":"The setting to apply the cluster profile. `DownloadAndInstall` will download and install packs in one action. `DownloadAndInstallLater` will only download artifact and postpone install for later. Default value is `DownloadAndInstall`.","description_kind":"plain","optional":true},"cluster_uid":{"type":"string","description_kind":"plain","required":true},"context":{"type":"string","description":"Specifies cluster context where addon profile is attached. Allowed values are `project` or `tenant`. Defaults to `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"block_types":{"cluster_profile":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The ID of the cluster profile.","description_kind":"plain","required":true}},"block_types":{"pack":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile. ","description_kind":"plain","required":true},"registry_uid":{"type":"string","description":"The registry UID of the pack. The registry UID is the unique identifier of the registry. This attribute is required if there is more than one registry that contains a pack with the same name. ","description_kind":"plain","optional":true},"tag":{"type":"string","description":"The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. ","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`.","description_kind":"plain","optional":true},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the [`spectrocloud_pack`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) data source. This value is required if the pack type is `spectro` and for `helm` if the chart is from a public helm registry.","description_kind":"plain","optional":true,"computed":true},"values":{"type":"string","description":"The values of the pack. The values are the configuration values of the pack. The values are specified in YAML format. ","description_kind":"plain","optional":true}},"block_types":{"manifest":{"nesting_mode":"list","block":{"attributes":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest. ","description_kind":"plain","required":true},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack. ","description_kind":"plain","required":true},"uid":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}}},"description":"For packs of type `spectro`, `helm`, and `manifest`, at least one pack must be specified.","description_kind":"plain"}}},"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"}},"spectrocloud_alert":{"version":2,"block":{"attributes":{"alert_all_users":{"type":"bool","description_kind":"plain","optional":true},"component":{"type":"string","description_kind":"plain","required":true},"created_by":{"type":"string","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"identifiers":{"type":["set","string"],"description_kind":"plain","optional":true},"is_active":{"type":"bool","description_kind":"plain","required":true},"project":{"type":"string","description_kind":"plain","required":true},"type":{"type":"string","description_kind":"plain","required":true}},"block_types":{"http":{"nesting_mode":"list","block":{"attributes":{"body":{"type":"string","description_kind":"plain","required":true},"headers":{"type":["map","string"],"description_kind":"plain","optional":true},"method":{"type":"string","description_kind":"plain","required":true},"url":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"status":{"nesting_mode":"list","block":{"attributes":{"is_succeeded":{"type":"bool","description_kind":"plain","optional":true},"message":{"type":"string","description_kind":"plain","optional":true},"time":{"type":"string","description_kind":"plain","optional":true}},"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"}},"spectrocloud_appliance":{"version":2,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"pairing_key":{"type":"string","description_kind":"plain","optional":true},"tags":{"type":["map","string"],"description_kind":"plain","optional":true},"uid":{"type":"string","description_kind":"plain","required":true},"wait":{"type":"bool","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":"A resource for creating and managing appliances for Edge Native cluster provisioning.","description_kind":"plain"}},"spectrocloud_application":{"version":2,"block":{"attributes":{"application_profile_uid":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true},"tags":{"type":["set","string"],"description_kind":"plain","optional":true}},"block_types":{"config":{"nesting_mode":"list","block":{"attributes":{"cluster_context":{"type":"string","description_kind":"plain","required":true},"cluster_group_uid":{"type":"string","description_kind":"plain","optional":true},"cluster_name":{"type":"string","description_kind":"plain","optional":true},"cluster_uid":{"type":"string","description_kind":"plain","optional":true}},"block_types":{"limits":{"nesting_mode":"list","block":{"attributes":{"cpu":{"type":"number","description_kind":"plain","optional":true},"memory":{"type":"number","description_kind":"plain","optional":true},"storage":{"type":"number","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"},"max_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"}},"spectrocloud_application_profile":{"version":0,"block":{"attributes":{"cloud":{"type":"string","description":"The cloud provider the profile is eligible for. Default value is `all`.","description_kind":"plain","optional":true},"context":{"type":"string","description":"Context of the profile. Allowed values are `project`, `cluster`, or `namespace`. Default value is `project`.If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"description":{"type":"string","description":"Description of the profile.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the application profile","description_kind":"plain","required":true},"tags":{"type":["set","string"],"description":"A list of tags to be applied to the application profile. Tags must be in the form of `key:value`.","description_kind":"plain","optional":true},"version":{"type":"string","description":"Version of the profile. Default value is 1.0.0.","description_kind":"plain","optional":true}},"block_types":{"pack":{"nesting_mode":"list","block":{"attributes":{"install_order":{"type":"number","description":"The installation priority order of the app profile. The order of priority goes from lowest number to highest number. For example, a value of `-3` would be installed before an app profile with a higher number value. No upper and lower limits exist, and you may specify positive and negative integers. The default value is `0`. ","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the specified pack.","description_kind":"plain","required":true},"properties":{"type":["map","string"],"description":"The various properties required by different database tiers eg: `databaseName` and `databaseVolumeSize` size for Redis etc.","description_kind":"plain","optional":true},"registry_uid":{"type":"string","description":"The unique id of the registry to be used for the pack.","description_kind":"plain","optional":true,"computed":true},"source_app_tier":{"type":"string","description":"The unique id of the pack to be used as the source for the pack.","description_kind":"plain","optional":true},"tag":{"type":"string","description":"The identifier or version to label the pack.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of Pack. Allowed values are `container`, `helm`, `manifest`, or `operator-instance`.","description_kind":"plain","optional":true},"uid":{"type":"string","description":"The unique id of the pack. This is a computed field and is not required to be set.","description_kind":"plain","optional":true,"computed":true},"values":{"type":"string","description":"The values to be used for the pack. This is a stringified JSON object.","description_kind":"plain","optional":true}},"block_types":{"manifest":{"nesting_mode":"list","block":{"attributes":{"content":{"type":"string","description":"The content of the manifest.","description_kind":"plain","required":true},"name":{"type":"string","description":"The name of the manifest.","description_kind":"plain","required":true},"uid":{"type":"string","description_kind":"plain","computed":true}},"description":"The manifest of the pack.","description_kind":"plain"}}},"description":"A list of packs to be applied to the application profile.","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":"Provisions an Application Profile. App Profiles are templates created with preconfigured services. You can create as many profiles as required, with multiple tiers serving different functionalities per use case.","description_kind":"plain"}},"spectrocloud_backup_storage_location":{"version":2,"block":{"attributes":{"bucket_name":{"type":"string","description_kind":"plain","required":true},"ca_cert":{"type":"string","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"is_default":{"type":"bool","description_kind":"plain","required":true},"name":{"type":"string","description_kind":"plain","required":true},"region":{"type":"string","description_kind":"plain","required":true}},"block_types":{"s3":{"nesting_mode":"list","block":{"attributes":{"access_key":{"type":"string","description_kind":"plain","optional":true},"arn":{"type":"string","description_kind":"plain","optional":true},"credential_type":{"type":"string","description_kind":"plain","required":true},"external_id":{"type":"string","description_kind":"plain","optional":true},"s3_force_path_style":{"type":"bool","description_kind":"plain","optional":true},"s3_url":{"type":"string","description_kind":"plain","optional":true},"secret_key":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"},"min_items":1,"max_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"}},"spectrocloud_cloudaccount_aws":{"version":0,"block":{"attributes":{"arn":{"type":"string","description_kind":"plain","optional":true},"aws_access_key":{"type":"string","description_kind":"plain","optional":true},"aws_secret_key":{"type":"string","description_kind":"plain","optional":true,"sensitive":true},"context":{"type":"string","description":"The context of the AWS configuration. Allowed values are `project` or `tenant`. Default value is `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"external_id":{"type":"string","description_kind":"plain","optional":true,"sensitive":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true},"partition":{"type":"string","description":"The AWS partition in which the cloud account is located. \nCan be 'aws' for standard AWS regions or 'aws-us-gov' for AWS GovCloud (US) regions.\nDefault is 'aws'.","description_kind":"plain","optional":true},"policy_arns":{"type":["set","string"],"description":"A set of ARNs for the IAM policies that should be associated with the cloud account.","description_kind":"plain","optional":true},"private_cloud_gateway_id":{"type":"string","description":"ID of the private cloud gateway. This is the ID of the private cloud gateway that is used to connect to the private cluster endpoint.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of AWS credentials to use. Can be `secret` or `sts`. ","description_kind":"plain","optional":true}},"description_kind":"plain"}},"spectrocloud_cloudaccount_azure":{"version":0,"block":{"attributes":{"azure_client_id":{"type":"string","description":"Unique client Id from Azure console.","description_kind":"plain","required":true},"azure_client_secret":{"type":"string","description":"Azure secret for authentication.","description_kind":"plain","required":true,"sensitive":true},"azure_tenant_id":{"type":"string","description":"Unique tenant Id from Azure console.","description_kind":"plain","required":true},"cloud":{"type":"string","description":"The Azure partition in which the cloud account is located. \nCan be 'AzurePublicCloud' for standard Azure regions or 'AzureUSGovernmentCloud' for Azure GovCloud (US) regions.\nDefault is 'AzurePublicCloud'.","description_kind":"plain","optional":true},"context":{"type":"string","description":"The context of the Azure configuration. Defaults to `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"disable_properties_request":{"type":"bool","description":"Disable properties request. This is a boolean value that indicates whether to disable properties request or not. If not specified, the default value is `false`.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"The name of the Azure cloud account.","description_kind":"plain","required":true},"private_cloud_gateway_id":{"type":"string","description":"ID of the private cloud gateway. This is the ID of the private cloud gateway that is used to connect to the private cluster endpoint.","description_kind":"plain","optional":true},"tenant_name":{"type":"string","description":"The name of the tenant. This is the name of the tenant that is used to connect to the Azure cloud.","description_kind":"plain","optional":true}},"description_kind":"plain"}},"spectrocloud_cloudaccount_custom":{"version":0,"block":{"attributes":{"cloud":{"type":"string","description":"The cloud provider name.","description_kind":"plain","required":true},"context":{"type":"string","description":"The context of the custom cloud configuration. Allowed values are `project` or `tenant`. Default value is `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"credentials":{"type":["map","string"],"description":"The credentials required for accessing the cloud.","description_kind":"plain","required":true,"sensitive":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"The name of the cloud account.","description_kind":"plain","required":true},"private_cloud_gateway_id":{"type":"string","description":"ID of the private cloud gateway, which serves as the connection point to establish connectivity with the cloud infrastructure.","description_kind":"plain","required":true}},"description_kind":"plain"}},"spectrocloud_cloudaccount_gcp":{"version":0,"block":{"attributes":{"context":{"type":"string","description":"The context of the GCP configuration. Allowed values are `project` or `tenant`. Default value is `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"gcp_json_credentials":{"type":"string","description_kind":"plain","required":true,"sensitive":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"spectrocloud_cloudaccount_maas":{"version":0,"block":{"attributes":{"context":{"type":"string","description":"The context of the MAAS configuration. Allowed values are `project` or `tenant`. Default value is `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"maas_api_endpoint":{"type":"string","description":"Endpoint of the MAAS API that is used to connect to the MAAS cloud. I.e. http://maas:5240/MAAS","description_kind":"plain","required":true},"maas_api_key":{"type":"string","description":"API key that is used to connect to the MAAS cloud.","description_kind":"plain","required":true,"sensitive":true},"name":{"type":"string","description":"Name of the MAAS cloud account.","description_kind":"plain","required":true},"private_cloud_gateway_id":{"type":"string","description":"ID of the private cloud gateway that is used to connect to the MAAS cloud.","description_kind":"plain","required":true}},"description_kind":"plain"}},"spectrocloud_cloudaccount_openstack":{"version":0,"block":{"attributes":{"ca_certificate":{"type":"string","description":"The CA certificate of the OpenStack cloud that is used to connect to the OpenStack cloud.","description_kind":"plain","optional":true},"context":{"type":"string","description":"The context of the OpenStack configuration. Allowed values are `project` or `tenant`. Default value is `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"default_domain":{"type":"string","description":"The default domain of the OpenStack cloud that is used to connect to the OpenStack cloud.","description_kind":"plain","required":true},"default_project":{"type":"string","description":"The default project of the OpenStack cloud that is used to connect to the OpenStack cloud.","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"identity_endpoint":{"type":"string","description":"The identity endpoint of the OpenStack cloud that is used to connect to the OpenStack cloud.","description_kind":"plain","required":true},"name":{"type":"string","description":"Name of the OpenStack cloud account.","description_kind":"plain","required":true},"openstack_allow_insecure":{"type":"bool","description":"Whether to allow insecure connections to the OpenStack cloud. Default is `false`.","description_kind":"plain","optional":true},"openstack_password":{"type":"string","description":"The password of the OpenStack cloud that is used to connect to the OpenStack cloud.","description_kind":"plain","required":true,"sensitive":true},"openstack_username":{"type":"string","description":"The username of the OpenStack cloud that is used to connect to the OpenStack cloud.","description_kind":"plain","required":true},"parent_region":{"type":"string","description":"The parent region of the OpenStack cloud that is used to connect to the OpenStack cloud.","description_kind":"plain","required":true},"private_cloud_gateway_id":{"type":"string","description":"ID of the private cloud gateway that is used to connect to the OpenStack cloud.","description_kind":"plain","required":true}},"description_kind":"plain"}},"spectrocloud_cloudaccount_tencent":{"version":0,"block":{"attributes":{"context":{"type":"string","description":"The context of the Tencent account. Allowed values are `project` or `tenant`. Default value is `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true},"tencent_secret_id":{"type":"string","description_kind":"plain","optional":true},"tencent_secret_key":{"type":"string","description_kind":"plain","optional":true,"sensitive":true}},"description_kind":"plain"}},"spectrocloud_cloudaccount_vsphere":{"version":0,"block":{"attributes":{"context":{"type":"string","description":"Context of the cloud account. Allowed values are `project` or `tenant`. Default value is `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the cloud account. This name is used to identify the cloud account in the Spectro Cloud UI.","description_kind":"plain","required":true},"private_cloud_gateway_id":{"type":"string","description":"ID of the private cloud gateway. This is the ID of the private cloud gateway that is used to connect to the vSphere cloud.","description_kind":"plain","required":true},"vsphere_ignore_insecure_error":{"type":"bool","description":"Ignore insecure error. This is a boolean value that indicates whether to ignore the insecure error or not. If not specified, the default value is false.","description_kind":"plain","optional":true},"vsphere_password":{"type":"string","description":"Password of the vSphere cloud. This is the password of the vSphere cloud that is used to connect to the vSphere cloud.","description_kind":"plain","required":true,"sensitive":true},"vsphere_username":{"type":"string","description":"Username of the vSphere cloud. This is the username of the vSphere cloud that is used to connect to the vSphere cloud.","description_kind":"plain","required":true},"vsphere_vcenter":{"type":"string","description":"vCenter server address. This is the address of the vCenter server that is used to connect to the vSphere cloud.","description_kind":"plain","required":true}},"description":"A resource to manage a vSphere cloud account in Pallette.","description_kind":"plain"}},"spectrocloud_cluster_aks":{"version":2,"block":{"attributes":{"admin_kube_config":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using `kubectl`, With admin privilege.","description_kind":"plain","computed":true},"apply_setting":{"type":"string","description":"The setting to apply the cluster profile. `DownloadAndInstall` will download and install packs in one action. `DownloadAndInstallLater` will only download artifact and postpone install for later. Default value is `DownloadAndInstall`.","description_kind":"plain","optional":true},"cloud_account_id":{"type":"string","description_kind":"plain","required":true},"cloud_config_id":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type `azure`.","description_kind":"plain","deprecated":true,"computed":true},"cluster_meta_attribute":{"type":"string","description":"`cluster_meta_attribute` can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`","description_kind":"plain","optional":true},"context":{"type":"string","description":"The context of the AKS cluster. Allowed values are `project` or `tenant`. Default is `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.","description_kind":"plain","optional":true},"force_delete":{"type":"bool","description":"If set to `true`, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.","description_kind":"plain","optional":true},"force_delete_delay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using `kubectl`.","description_kind":"plain","computed":true},"location_config":{"type":["list",["object",{"country_code":"string","country_name":"string","latitude":"number","longitude":"number","region_code":"string","region_name":"string"}]],"description":"The location of the cluster.","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true},"os_patch_after":{"type":"string","description":"The date and time after which to patch the cluster. Prefix the time value with the respective RFC. Ex: `RFC3339: 2006-01-02T15:04:05Z07:00`","description_kind":"plain","optional":true},"os_patch_on_boot":{"type":"bool","description":"Whether to apply OS patch on boot. Default is `false`.","description_kind":"plain","optional":true},"os_patch_schedule":{"type":"string","description":"The cron schedule for OS patching. This must be in the form of cron syntax. Ex: `0 0 * * *`.","description_kind":"plain","optional":true},"pause_agent_upgrades":{"type":"string","description":"The pause agent upgrades setting allows to control the automatic upgrade of the Palette component and agent for an individual cluster. The default value is `unlock`, meaning upgrades occur automatically. Setting it to `lock` pauses automatic agent upgrades for the cluster.","description_kind":"plain","optional":true},"review_repave_state":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.","description_kind":"plain","optional":true},"skip_completion":{"type":"bool","description":"If `true`, the cluster will be created asynchronously. Default value is `false`.","description_kind":"plain","optional":true},"tags":{"type":["set","string"],"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.","description_kind":"plain","optional":true}},"block_types":{"backup_policy":{"nesting_mode":"list","block":{"attributes":{"backup_location_id":{"type":"string","description":"The ID of the backup location to use for the backup.","description_kind":"plain","required":true},"cluster_uids":{"type":["set","string"],"description":"The list of cluster UIDs to include in the backup. If `include_all_clusters` is set to `true`, then all clusters will be included.","description_kind":"plain","optional":true},"expiry_in_hour":{"type":"number","description":"The number of hours after which the backup will be deleted. For example, if the expiry is set to 24, the backup will be deleted after 24 hours.","description_kind":"plain","required":true},"include_all_clusters":{"type":"bool","description":"Whether to include all clusters in the backup. If set to false, only the clusters specified in `cluster_uids` will be included.","description_kind":"plain","optional":true},"include_cluster_resources":{"type":"bool","description":"Whether to include the cluster resources in the backup. If set to false, only the cluster configuration and disks will be backed up.","description_kind":"plain","optional":true},"include_disks":{"type":"bool","description":"Whether to include the disks in the backup. If set to false, only the cluster configuration will be backed up.","description_kind":"plain","optional":true},"namespaces":{"type":["set","string"],"description":"The list of Kubernetes namespaces to include in the backup. If not specified, all namespaces will be included.","description_kind":"plain","optional":true},"prefix":{"type":"string","description":"Prefix for the backup name. The backup name will be of the format \u003cprefix\u003e-\u003ccluster-name\u003e-\u003ctimestamp\u003e.","description_kind":"plain","required":true},"schedule":{"type":"string","description":"The schedule for the backup. The schedule is specified in cron format. For example, to run the backup every day at 1:00 AM, the schedule should be set to `0 1 * * *`.","description_kind":"plain","required":true}},"description":"The backup policy for the cluster. If not specified, no backups will be taken.","description_kind":"plain"},"max_items":1},"cloud_config":{"nesting_mode":"list","block":{"attributes":{"control_plane_cidr":{"type":"string","description_kind":"plain","optional":true},"control_plane_subnet_name":{"type":"string","description_kind":"plain","optional":true},"control_plane_subnet_security_group_name":{"type":"string","description_kind":"plain","optional":true},"private_cluster":{"type":"bool","description":"Whether to create a private cluster(API endpoint). Default is `false`.","description_kind":"plain","optional":true},"region":{"type":"string","description_kind":"plain","required":true},"resource_group":{"type":"string","description_kind":"plain","required":true},"ssh_key":{"type":"string","description":"Public SSH key to be used for the cluster nodes.","description_kind":"plain","required":true},"subscription_id":{"type":"string","description_kind":"plain","required":true},"vnet_cidr_block":{"type":"string","description_kind":"plain","optional":true},"vnet_name":{"type":"string","description_kind":"plain","optional":true},"vnet_resource_group":{"type":"string","description_kind":"plain","optional":true},"worker_cidr":{"type":"string","description_kind":"plain","optional":true},"worker_subnet_name":{"type":"string","description_kind":"plain","optional":true},"worker_subnet_security_group_name":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"},"min_items":1,"max_items":1},"cluster_profile":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The ID of the cluster profile.","description_kind":"plain","required":true}},"block_types":{"pack":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile. ","description_kind":"plain","required":true},"registry_uid":{"type":"string","description":"The registry UID of the pack. The registry UID is the unique identifier of the registry. This attribute is required if there is more than one registry that contains a pack with the same name. ","description_kind":"plain","optional":true},"tag":{"type":"string","description":"The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. ","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`.","description_kind":"plain","optional":true},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the [`spectrocloud_pack`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) data source. This value is required if the pack type is `spectro` and for `helm` if the chart is from a public helm registry.","description_kind":"plain","optional":true,"computed":true},"values":{"type":"string","description":"The values of the pack. The values are the configuration values of the pack. The values are specified in YAML format. ","description_kind":"plain","optional":true}},"block_types":{"manifest":{"nesting_mode":"list","block":{"attributes":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest. ","description_kind":"plain","required":true},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack. ","description_kind":"plain","required":true},"uid":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}}},"description":"For packs of type `spectro`, `helm`, and `manifest`, at least one pack must be specified.","description_kind":"plain"}}},"description_kind":"plain"}},"cluster_rbac_binding":{"nesting_mode":"list","block":{"attributes":{"namespace":{"type":"string","description":"The Kubernetes namespace of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"role":{"type":["map","string"],"description":"The role of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`.","description_kind":"plain","required":true}},"block_types":{"subjects":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the subject. Required if 'type' is set to 'User' or 'Group'.","description_kind":"plain","required":true},"namespace":{"type":"string","description":"The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description":"The RBAC binding for the cluster.","description_kind":"plain"}},"host_config":{"nesting_mode":"list","block":{"attributes":{"external_traffic_policy":{"type":"string","description":"The external traffic policy for the cluster.","description_kind":"plain","optional":true},"host_endpoint_type":{"type":"string","description":"The type of endpoint for the cluster. Can be either 'Ingress' or 'LoadBalancer'. The default is 'Ingress'.","description_kind":"plain","optional":true},"ingress_host":{"type":"string","description":"The host for the Ingress endpoint. Required if 'host_endpoint_type' is set to 'Ingress'.","description_kind":"plain","optional":true},"load_balancer_source_ranges":{"type":"string","description":"The source ranges for the load balancer. Required if 'host_endpoint_type' is set to 'LoadBalancer'.","description_kind":"plain","optional":true}},"description":"The host configuration for the cluster.","description_kind":"plain"}},"machine_pool":{"nesting_mode":"list","block":{"attributes":{"additional_labels":{"type":["map","string"],"description_kind":"plain","optional":true},"count":{"type":"number","description":"Number of nodes in the machine pool.","description_kind":"plain","required":true},"disk_size_gb":{"type":"number","description_kind":"plain","required":true},"instance_type":{"type":"string","description_kind":"plain","required":true},"is_system_node_pool":{"type":"bool","description_kind":"plain","required":true},"max":{"type":"number","description":"Maximum number of nodes in the machine pool. This is used for autoscaling the machine pool.","description_kind":"plain","optional":true},"min":{"type":"number","description":"Minimum number of nodes in the machine pool. This is used for autoscaling the machine pool.","description_kind":"plain","optional":true},"name":{"type":"string","description_kind":"plain","required":true},"storage_account_type":{"type":"string","description_kind":"plain","required":true},"update_strategy":{"type":"string","description":"Update strategy for the machine pool. Valid values are `RollingUpdateScaleOut` and `RollingUpdateScaleIn`.","description_kind":"plain","optional":true}},"block_types":{"node":{"nesting_mode":"list","block":{"attributes":{"action":{"type":"string","description":"The action to perform on the node. Valid values are: `cordon`, `uncordon`.","description_kind":"plain","required":true},"node_id":{"type":"string","description":"The node_id of the node, For example `i-07f899a33dee624f7`","description_kind":"plain","required":true}},"description_kind":"plain"}},"taints":{"nesting_mode":"list","block":{"attributes":{"effect":{"type":"string","description":"The effect of the taint. Allowed values are: `NoSchedule`, `PreferNoSchedule` or `NoExecute`.","description_kind":"plain","required":true},"key":{"type":"string","description":"The key of the taint.","description_kind":"plain","required":true},"value":{"type":"string","description":"The value of the taint.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description_kind":"plain"},"min_items":1},"namespaces":{"nesting_mode":"list","block":{"attributes":{"images_blacklist":{"type":["list","string"],"description":"List of images to disallow for the namespace. For example, `['nginx:latest', 'redis:latest']`","description_kind":"plain","optional":true},"name":{"type":"string","description":"Name of the namespace. This is the name of the Kubernetes namespace in the cluster.","description_kind":"plain","required":true},"resource_allocation":{"type":["map","string"],"description":"Resource allocation for the namespace. This is a map containing the resource type and the resource value. For example, `{cpu_cores: '2', memory_MiB: '2048'}`","description_kind":"plain","required":true}},"description":"The namespaces for the cluster.","description_kind":"plain"}},"scan_policy":{"nesting_mode":"list","block":{"attributes":{"configuration_scan_schedule":{"type":"string","description":"The schedule for configuration scan.","description_kind":"plain","required":true},"conformance_scan_schedule":{"type":"string","description":"The schedule for conformance scan.","description_kind":"plain","required":true},"penetration_scan_schedule":{"type":"string","description":"The schedule for penetration scan.","description_kind":"plain","required":true}},"description":"The scan policy for the cluster.","description_kind":"plain"},"max_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":"Resource for managing AKS clusters in Spectro Cloud through Palette.","description_kind":"plain"}},"spectrocloud_cluster_aws":{"version":2,"block":{"attributes":{"admin_kube_config":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using `kubectl`, With admin privilege.","description_kind":"plain","computed":true},"apply_setting":{"type":"string","description":"The setting to apply the cluster profile. `DownloadAndInstall` will download and install packs in one action. `DownloadAndInstallLater` will only download artifact and postpone install for later. Default value is `DownloadAndInstall`.","description_kind":"plain","optional":true},"cloud_account_id":{"type":"string","description_kind":"plain","required":true},"cloud_config_id":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type `azure`.","description_kind":"plain","deprecated":true,"computed":true},"cluster_meta_attribute":{"type":"string","description":"`cluster_meta_attribute` can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`","description_kind":"plain","optional":true},"context":{"type":"string","description":"The context of the AWS cluster. Allowed values are `project` or `tenant`. Default is `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.","description_kind":"plain","optional":true},"force_delete":{"type":"bool","description":"If set to `true`, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.","description_kind":"plain","optional":true},"force_delete_delay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using `kubectl`.","description_kind":"plain","computed":true},"location_config":{"type":["list",["object",{"country_code":"string","country_name":"string","latitude":"number","longitude":"number","region_code":"string","region_name":"string"}]],"description":"The location of the cluster.","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true},"os_patch_after":{"type":"string","description":"Date and time after which to patch cluster `RFC3339: 2006-01-02T15:04:05Z07:00`","description_kind":"plain","optional":true},"os_patch_on_boot":{"type":"bool","description":"Whether to apply OS patch on boot. Default is `false`.","description_kind":"plain","optional":true},"os_patch_schedule":{"type":"string","description":"The cron schedule for OS patching. This must be in the form of cron syntax. Ex: `0 0 * * *`.","description_kind":"plain","optional":true},"pause_agent_upgrades":{"type":"string","description":"The pause agent upgrades setting allows to control the automatic upgrade of the Palette component and agent for an individual cluster. The default value is `unlock`, meaning upgrades occur automatically. Setting it to `lock` pauses automatic agent upgrades for the cluster.","description_kind":"plain","optional":true},"review_repave_state":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.","description_kind":"plain","optional":true},"skip_completion":{"type":"bool","description":"If `true`, the cluster will be created asynchronously. Default value is `false`.","description_kind":"plain","optional":true},"tags":{"type":["set","string"],"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.","description_kind":"plain","optional":true}},"block_types":{"backup_policy":{"nesting_mode":"list","block":{"attributes":{"backup_location_id":{"type":"string","description":"The ID of the backup location to use for the backup.","description_kind":"plain","required":true},"cluster_uids":{"type":["set","string"],"description":"The list of cluster UIDs to include in the backup. If `include_all_clusters` is set to `true`, then all clusters will be included.","description_kind":"plain","optional":true},"expiry_in_hour":{"type":"number","description":"The number of hours after which the backup will be deleted. For example, if the expiry is set to 24, the backup will be deleted after 24 hours.","description_kind":"plain","required":true},"include_all_clusters":{"type":"bool","description":"Whether to include all clusters in the backup. If set to false, only the clusters specified in `cluster_uids` will be included.","description_kind":"plain","optional":true},"include_cluster_resources":{"type":"bool","description":"Whether to include the cluster resources in the backup. If set to false, only the cluster configuration and disks will be backed up.","description_kind":"plain","optional":true},"include_disks":{"type":"bool","description":"Whether to include the disks in the backup. If set to false, only the cluster configuration will be backed up.","description_kind":"plain","optional":true},"namespaces":{"type":["set","string"],"description":"The list of Kubernetes namespaces to include in the backup. If not specified, all namespaces will be included.","description_kind":"plain","optional":true},"prefix":{"type":"string","description":"Prefix for the backup name. The backup name will be of the format \u003cprefix\u003e-\u003ccluster-name\u003e-\u003ctimestamp\u003e.","description_kind":"plain","required":true},"schedule":{"type":"string","description":"The schedule for the backup. The schedule is specified in cron format. For example, to run the backup every day at 1:00 AM, the schedule should be set to `0 1 * * *`.","description_kind":"plain","required":true}},"description":"The backup policy for the cluster. If not specified, no backups will be taken.","description_kind":"plain"},"max_items":1},"cloud_config":{"nesting_mode":"list","block":{"attributes":{"control_plane_lb":{"type":"string","description":"Control plane load balancer type. Valid values are `Internet-facing` and `internal`. Defaults to `` (empty string).","description_kind":"plain","optional":true},"region":{"type":"string","description":"The AWS region to deploy the cluster in.","description_kind":"plain","required":true},"ssh_key_name":{"type":"string","description":"Public SSH key to be used for the cluster nodes.","description_kind":"plain","required":true},"vpc_id":{"type":"string","description":"The VPC ID to deploy the cluster in. If not provided, VPC will be provisioned dynamically.","description_kind":"plain","optional":true}},"description_kind":"plain"},"min_items":1,"max_items":1},"cluster_profile":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The ID of the cluster profile.","description_kind":"plain","required":true}},"block_types":{"pack":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile. ","description_kind":"plain","required":true},"registry_uid":{"type":"string","description":"The registry UID of the pack. The registry UID is the unique identifier of the registry. This attribute is required if there is more than one registry that contains a pack with the same name. ","description_kind":"plain","optional":true},"tag":{"type":"string","description":"The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. ","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`.","description_kind":"plain","optional":true},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the [`spectrocloud_pack`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) data source. This value is required if the pack type is `spectro` and for `helm` if the chart is from a public helm registry.","description_kind":"plain","optional":true,"computed":true},"values":{"type":"string","description":"The values of the pack. The values are the configuration values of the pack. The values are specified in YAML format. ","description_kind":"plain","optional":true}},"block_types":{"manifest":{"nesting_mode":"list","block":{"attributes":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest. ","description_kind":"plain","required":true},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack. ","description_kind":"plain","required":true},"uid":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}}},"description":"For packs of type `spectro`, `helm`, and `manifest`, at least one pack must be specified.","description_kind":"plain"}}},"description_kind":"plain"}},"cluster_rbac_binding":{"nesting_mode":"list","block":{"attributes":{"namespace":{"type":"string","description":"The Kubernetes namespace of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"role":{"type":["map","string"],"description":"The role of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`.","description_kind":"plain","required":true}},"block_types":{"subjects":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the subject. Required if 'type' is set to 'User' or 'Group'.","description_kind":"plain","required":true},"namespace":{"type":"string","description":"The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description":"The RBAC binding for the cluster.","description_kind":"plain"}},"host_config":{"nesting_mode":"list","block":{"attributes":{"external_traffic_policy":{"type":"string","description":"The external traffic policy for the cluster.","description_kind":"plain","optional":true},"host_endpoint_type":{"type":"string","description":"The type of endpoint for the cluster. Can be either 'Ingress' or 'LoadBalancer'. The default is 'Ingress'.","description_kind":"plain","optional":true},"ingress_host":{"type":"string","description":"The host for the Ingress endpoint. Required if 'host_endpoint_type' is set to 'Ingress'.","description_kind":"plain","optional":true},"load_balancer_source_ranges":{"type":"string","description":"The source ranges for the load balancer. Required if 'host_endpoint_type' is set to 'LoadBalancer'.","description_kind":"plain","optional":true}},"description":"The host configuration for the cluster.","description_kind":"plain"}},"machine_pool":{"nesting_mode":"set","block":{"attributes":{"additional_labels":{"type":["map","string"],"description_kind":"plain","optional":true},"additional_security_groups":{"type":["set","string"],"description":"Additional security groups to attach to the instance.","description_kind":"plain","optional":true},"az_subnets":{"type":["map","string"],"description":"Mutually exclusive with `azs`. Use `az_subnets` for Static provisioning.","description_kind":"plain","optional":true},"azs":{"type":["set","string"],"description":"Mutually exclusive with `az_subnets`. Use `azs` for Dynamic provisioning.","description_kind":"plain","optional":true},"capacity_type":{"type":"string","description":"Capacity type is an instance type, can be 'on-demand' or 'spot'. Defaults to 'on-demand'.","description_kind":"plain","optional":true},"control_plane":{"type":"bool","description":"Whether this machine pool is a control plane. Defaults to `false`.","description_kind":"plain","optional":true},"control_plane_as_worker":{"type":"bool","description":"Whether this machine pool is a control plane and a worker. Defaults to `false`.","description_kind":"plain","optional":true},"count":{"type":"number","description":"Number of nodes in the machine pool.","description_kind":"plain","required":true},"disk_size_gb":{"type":"number","description":"The disk size in GB for the machine pool nodes.","description_kind":"plain","optional":true},"instance_type":{"type":"string","description":"The instance type to use for the machine pool nodes.","description_kind":"plain","required":true},"max":{"type":"number","description":"Maximum number of nodes in the machine pool. This is used for autoscaling the machine pool.","description_kind":"plain","optional":true},"max_price":{"type":"string","description":"Maximum price to bid for spot instances. Only applied when instance type is 'spot'.","description_kind":"plain","optional":true},"min":{"type":"number","description":"Minimum number of nodes in the machine pool. This is used for autoscaling the machine pool.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the machine pool.","description_kind":"plain","required":true},"node_repave_interval":{"type":"number","description":"Minimum number of seconds node should be Ready, before the next node is selected for repave. Default value is `0`, Applicable only for worker pools.","description_kind":"plain","optional":true},"update_strategy":{"type":"string","description":"Update strategy for the machine pool. Valid values are `RollingUpdateScaleOut` and `RollingUpdateScaleIn`.","description_kind":"plain","optional":true}},"block_types":{"node":{"nesting_mode":"list","block":{"attributes":{"action":{"type":"string","description":"The action to perform on the node. Valid values are: `cordon`, `uncordon`.","description_kind":"plain","required":true},"node_id":{"type":"string","description":"The node_id of the node, For example `i-07f899a33dee624f7`","description_kind":"plain","required":true}},"description_kind":"plain"}},"taints":{"nesting_mode":"list","block":{"attributes":{"effect":{"type":"string","description":"The effect of the taint. Allowed values are: `NoSchedule`, `PreferNoSchedule` or `NoExecute`.","description_kind":"plain","required":true},"key":{"type":"string","description":"The key of the taint.","description_kind":"plain","required":true},"value":{"type":"string","description":"The value of the taint.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description_kind":"plain"},"min_items":1},"namespaces":{"nesting_mode":"list","block":{"attributes":{"images_blacklist":{"type":["list","string"],"description":"List of images to disallow for the namespace. For example, `['nginx:latest', 'redis:latest']`","description_kind":"plain","optional":true},"name":{"type":"string","description":"Name of the namespace. This is the name of the Kubernetes namespace in the cluster.","description_kind":"plain","required":true},"resource_allocation":{"type":["map","string"],"description":"Resource allocation for the namespace. This is a map containing the resource type and the resource value. For example, `{cpu_cores: '2', memory_MiB: '2048'}`","description_kind":"plain","required":true}},"description":"The namespaces for the cluster.","description_kind":"plain"}},"scan_policy":{"nesting_mode":"list","block":{"attributes":{"configuration_scan_schedule":{"type":"string","description":"The schedule for configuration scan.","description_kind":"plain","required":true},"conformance_scan_schedule":{"type":"string","description":"The schedule for conformance scan.","description_kind":"plain","required":true},"penetration_scan_schedule":{"type":"string","description":"The schedule for penetration scan.","description_kind":"plain","required":true}},"description":"The scan policy for the cluster.","description_kind":"plain"},"max_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":"Resource for managing AWS clusters in Spectro Cloud through Palette.","description_kind":"plain"}},"spectrocloud_cluster_azure":{"version":0,"block":{"attributes":{"admin_kube_config":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using `kubectl`, With admin privilege.","description_kind":"plain","computed":true},"apply_setting":{"type":"string","description":"The setting to apply the cluster profile. `DownloadAndInstall` will download and install packs in one action. `DownloadAndInstallLater` will only download artifact and postpone install for later. Default value is `DownloadAndInstall`.","description_kind":"plain","optional":true},"cloud_account_id":{"type":"string","description":"ID of the cloud account to be used for the cluster. This cloud account must be of type `azure`.","description_kind":"plain","required":true},"cloud_config_id":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type `azure`.","description_kind":"plain","deprecated":true,"computed":true},"cluster_meta_attribute":{"type":"string","description":"`cluster_meta_attribute` can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`","description_kind":"plain","optional":true},"context":{"type":"string","description":"The context of the Azure cluster. Allowed values are `project` or `tenant`. Default is `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.","description_kind":"plain","optional":true},"force_delete":{"type":"bool","description":"If set to `true`, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.","description_kind":"plain","optional":true},"force_delete_delay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using `kubectl`.","description_kind":"plain","computed":true},"location_config":{"type":["list",["object",{"country_code":"string","country_name":"string","latitude":"number","longitude":"number","region_code":"string","region_name":"string"}]],"description":"The location of the cluster.","description_kind":"plain","computed":true},"name":{"type":"string","description":"Name of the cluster. This name will be used to create the cluster in Azure.","description_kind":"plain","required":true},"os_patch_after":{"type":"string","description":"Date and time after which to patch cluster `RFC3339: 2006-01-02T15:04:05Z07:00`","description_kind":"plain","optional":true},"os_patch_on_boot":{"type":"bool","description":"Whether to apply OS patch on boot. Default is `false`.","description_kind":"plain","optional":true},"os_patch_schedule":{"type":"string","description":"Cron schedule for OS patching. This must be in the form of `0 0 * * *`.","description_kind":"plain","optional":true},"pause_agent_upgrades":{"type":"string","description":"The pause agent upgrades setting allows to control the automatic upgrade of the Palette component and agent for an individual cluster. The default value is `unlock`, meaning upgrades occur automatically. Setting it to `lock` pauses automatic agent upgrades for the cluster.","description_kind":"plain","optional":true},"review_repave_state":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.","description_kind":"plain","optional":true},"skip_completion":{"type":"bool","description":"If `true`, the cluster will be created asynchronously. Default value is `false`.","description_kind":"plain","optional":true},"tags":{"type":["set","string"],"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.","description_kind":"plain","optional":true}},"block_types":{"backup_policy":{"nesting_mode":"list","block":{"attributes":{"backup_location_id":{"type":"string","description":"The ID of the backup location to use for the backup.","description_kind":"plain","required":true},"cluster_uids":{"type":["set","string"],"description":"The list of cluster UIDs to include in the backup. If `include_all_clusters` is set to `true`, then all clusters will be included.","description_kind":"plain","optional":true},"expiry_in_hour":{"type":"number","description":"The number of hours after which the backup will be deleted. For example, if the expiry is set to 24, the backup will be deleted after 24 hours.","description_kind":"plain","required":true},"include_all_clusters":{"type":"bool","description":"Whether to include all clusters in the backup. If set to false, only the clusters specified in `cluster_uids` will be included.","description_kind":"plain","optional":true},"include_cluster_resources":{"type":"bool","description":"Whether to include the cluster resources in the backup. If set to false, only the cluster configuration and disks will be backed up.","description_kind":"plain","optional":true},"include_disks":{"type":"bool","description":"Whether to include the disks in the backup. If set to false, only the cluster configuration will be backed up.","description_kind":"plain","optional":true},"namespaces":{"type":["set","string"],"description":"The list of Kubernetes namespaces to include in the backup. If not specified, all namespaces will be included.","description_kind":"plain","optional":true},"prefix":{"type":"string","description":"Prefix for the backup name. The backup name will be of the format \u003cprefix\u003e-\u003ccluster-name\u003e-\u003ctimestamp\u003e.","description_kind":"plain","required":true},"schedule":{"type":"string","description":"The schedule for the backup. The schedule is specified in cron format. For example, to run the backup every day at 1:00 AM, the schedule should be set to `0 1 * * *`.","description_kind":"plain","required":true}},"description":"The backup policy for the cluster. If not specified, no backups will be taken.","description_kind":"plain"},"max_items":1},"cloud_config":{"nesting_mode":"list","block":{"attributes":{"container_name":{"type":"string","description":"Container name within your azure storage account.","description_kind":"plain","optional":true},"network_resource_group":{"type":"string","description":"Azure network resource group in which the cluster is to be provisioned.","description_kind":"plain","optional":true},"region":{"type":"string","description":"Azure region. This can be found in the Azure portal under `Resource groups`.","description_kind":"plain","required":true},"resource_group":{"type":"string","description":"Azure resource group. This can be found in the Azure portal under `Resource groups`.","description_kind":"plain","required":true},"ssh_key":{"type":"string","description":"Public SSH key to be used for the cluster nodes.","description_kind":"plain","required":true},"storage_account_name":{"type":"string","description":"Azure storage account name.","description_kind":"plain","optional":true},"subscription_id":{"type":"string","description":"Azure subscription ID. This can be found in the Azure portal under `Subscriptions`.","description_kind":"plain","required":true},"virtual_network_cidr_block":{"type":"string","description":"Azure virtual network cidr block in which the cluster is to be provisioned.","description_kind":"plain","optional":true},"virtual_network_name":{"type":"string","description":"Azure virtual network in which the cluster is to be provisioned.","description_kind":"plain","optional":true}},"block_types":{"control_plane_subnet":{"nesting_mode":"list","block":{"attributes":{"cidr_block":{"type":"string","description":"CidrBlock is the CIDR block to be used when the provider creates a managed virtual network.","description_kind":"plain","required":true},"name":{"type":"string","description":"Name of the subnet.","description_kind":"plain","required":true},"security_group_name":{"type":"string","description":"Network Security Group(NSG) to be attached to subnet.","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"worker_node_subnet":{"nesting_mode":"list","block":{"attributes":{"cidr_block":{"type":"string","description":"CidrBlock is the CIDR block to be used when the provider creates a managed virtual network.","description_kind":"plain","required":true},"name":{"type":"string","description":"Name of the subnet.","description_kind":"plain","required":true},"security_group_name":{"type":"string","description":"Network Security Group(NSG) to be attached to subnet.","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"},"min_items":1,"max_items":1},"cluster_profile":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The ID of the cluster profile.","description_kind":"plain","required":true}},"block_types":{"pack":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile. ","description_kind":"plain","required":true},"registry_uid":{"type":"string","description":"The registry UID of the pack. The registry UID is the unique identifier of the registry. This attribute is required if there is more than one registry that contains a pack with the same name. ","description_kind":"plain","optional":true},"tag":{"type":"string","description":"The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. ","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`.","description_kind":"plain","optional":true},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the [`spectrocloud_pack`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) data source. This value is required if the pack type is `spectro` and for `helm` if the chart is from a public helm registry.","description_kind":"plain","optional":true,"computed":true},"values":{"type":"string","description":"The values of the pack. The values are the configuration values of the pack. The values are specified in YAML format. ","description_kind":"plain","optional":true}},"block_types":{"manifest":{"nesting_mode":"list","block":{"attributes":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest. ","description_kind":"plain","required":true},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack. ","description_kind":"plain","required":true},"uid":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}}},"description":"For packs of type `spectro`, `helm`, and `manifest`, at least one pack must be specified.","description_kind":"plain"}}},"description_kind":"plain"}},"cluster_rbac_binding":{"nesting_mode":"list","block":{"attributes":{"namespace":{"type":"string","description":"The Kubernetes namespace of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"role":{"type":["map","string"],"description":"The role of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`.","description_kind":"plain","required":true}},"block_types":{"subjects":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the subject. Required if 'type' is set to 'User' or 'Group'.","description_kind":"plain","required":true},"namespace":{"type":"string","description":"The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description":"The RBAC binding for the cluster.","description_kind":"plain"}},"host_config":{"nesting_mode":"list","block":{"attributes":{"external_traffic_policy":{"type":"string","description":"The external traffic policy for the cluster.","description_kind":"plain","optional":true},"host_endpoint_type":{"type":"string","description":"The type of endpoint for the cluster. Can be either 'Ingress' or 'LoadBalancer'. The default is 'Ingress'.","description_kind":"plain","optional":true},"ingress_host":{"type":"string","description":"The host for the Ingress endpoint. Required if 'host_endpoint_type' is set to 'Ingress'.","description_kind":"plain","optional":true},"load_balancer_source_ranges":{"type":"string","description":"The source ranges for the load balancer. Required if 'host_endpoint_type' is set to 'LoadBalancer'.","description_kind":"plain","optional":true}},"description":"The host configuration for the cluster.","description_kind":"plain"}},"machine_pool":{"nesting_mode":"set","block":{"attributes":{"additional_labels":{"type":["map","string"],"description_kind":"plain","optional":true},"azs":{"type":["set","string"],"description":"Availability zones for the machine pool. Check if your region provides availability zones on [the Azure documentation](https://learn.microsoft.com/en-us/azure/reliability/availability-zones-service-support#azure-regions-with-availability-zone-support). Default value is `[\"\"]`.","description_kind":"plain","optional":true},"control_plane":{"type":"bool","description":"Whether this machine pool is a control plane. Defaults to `false`.","description_kind":"plain","optional":true},"control_plane_as_worker":{"type":"bool","description":"Whether this machine pool is a control plane and a worker. Defaults to `false`.","description_kind":"plain","optional":true},"count":{"type":"number","description":"Number of nodes in the machine pool.","description_kind":"plain","required":true},"instance_type":{"type":"string","description":"Azure instance type from the Azure portal.","description_kind":"plain","required":true},"is_system_node_pool":{"type":"bool","description":"Whether this machine pool is a system node pool. Default value is `false'.","description_kind":"plain","optional":true},"name":{"type":"string","description":"Name of the machine pool. This must be unique within the cluster.","description_kind":"plain","required":true},"node_repave_interval":{"type":"number","description":"Minimum number of seconds node should be Ready, before the next node is selected for repave. Default value is `0`, Applicable only for worker pools.","description_kind":"plain","optional":true},"os_type":{"type":"string","description":"Operating system type for the machine pool. Valid values are `Linux` and `Windows`. Defaults to `Linux`.","description_kind":"plain","optional":true},"update_strategy":{"type":"string","description":"Update strategy for the machine pool. Valid values are `RollingUpdateScaleOut` and `RollingUpdateScaleIn`.","description_kind":"plain","optional":true}},"block_types":{"disk":{"nesting_mode":"list","block":{"attributes":{"size_gb":{"type":"number","description":"Size of the disk in GB.","description_kind":"plain","required":true},"type":{"type":"string","description":"Type of the disk. Valid values are `Standard_LRS`, `StandardSSD_LRS`, `Premium_LRS`.","description_kind":"plain","required":true}},"description":"Disk configuration for the machine pool.","description_kind":"plain"},"max_items":1},"node":{"nesting_mode":"list","block":{"attributes":{"action":{"type":"string","description":"The action to perform on the node. Valid values are: `cordon`, `uncordon`.","description_kind":"plain","required":true},"node_id":{"type":"string","description":"The node_id of the node, For example `i-07f899a33dee624f7`","description_kind":"plain","required":true}},"description_kind":"plain"}},"taints":{"nesting_mode":"list","block":{"attributes":{"effect":{"type":"string","description":"The effect of the taint. Allowed values are: `NoSchedule`, `PreferNoSchedule` or `NoExecute`.","description_kind":"plain","required":true},"key":{"type":"string","description":"The key of the taint.","description_kind":"plain","required":true},"value":{"type":"string","description":"The value of the taint.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description_kind":"plain"},"min_items":1},"namespaces":{"nesting_mode":"list","block":{"attributes":{"images_blacklist":{"type":["list","string"],"description":"List of images to disallow for the namespace. For example, `['nginx:latest', 'redis:latest']`","description_kind":"plain","optional":true},"name":{"type":"string","description":"Name of the namespace. This is the name of the Kubernetes namespace in the cluster.","description_kind":"plain","required":true},"resource_allocation":{"type":["map","string"],"description":"Resource allocation for the namespace. This is a map containing the resource type and the resource value. For example, `{cpu_cores: '2', memory_MiB: '2048'}`","description_kind":"plain","required":true}},"description":"The namespaces for the cluster.","description_kind":"plain"}},"scan_policy":{"nesting_mode":"list","block":{"attributes":{"configuration_scan_schedule":{"type":"string","description":"The schedule for configuration scan.","description_kind":"plain","required":true},"conformance_scan_schedule":{"type":"string","description":"The schedule for conformance scan.","description_kind":"plain","required":true},"penetration_scan_schedule":{"type":"string","description":"The schedule for penetration scan.","description_kind":"plain","required":true}},"description":"The scan policy for the cluster.","description_kind":"plain"},"max_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":"Resource for managing Azure clusters in Spectro Cloud through Palette.","description_kind":"plain"}},"spectrocloud_cluster_custom_cloud":{"version":2,"block":{"attributes":{"admin_kube_config":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using `kubectl`, With admin privilege.","description_kind":"plain","computed":true},"apply_setting":{"type":"string","description":"The setting to apply the cluster profile. `DownloadAndInstall` will download and install packs in one action. `DownloadAndInstallLater` will only download artifact and postpone install for later. Default value is `DownloadAndInstall`.","description_kind":"plain","optional":true},"cloud":{"type":"string","description":"The cloud provider name.","description_kind":"plain","required":true},"cloud_account_id":{"type":"string","description":"The cloud account id to use for this cluster.","description_kind":"plain","required":true},"cloud_config_id":{"type":"string","description_kind":"plain","deprecated":true,"computed":true},"context":{"type":"string","description":"The context of the EKS cluster. Allowed values are `project` or `tenant`. Default is `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.","description_kind":"plain","optional":true},"force_delete":{"type":"bool","description":"If set to `true`, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.","description_kind":"plain","optional":true},"force_delete_delay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using `kubectl`.","description_kind":"plain","computed":true},"name":{"type":"string","description":"The name of the cluster.","description_kind":"plain","required":true},"os_patch_after":{"type":"string","description":"Date and time after which to patch cluster `RFC3339: 2006-01-02T15:04:05Z07:00`","description_kind":"plain","optional":true},"os_patch_on_boot":{"type":"bool","description":"Whether to apply OS patch on boot. Default is `false`.","description_kind":"plain","optional":true},"os_patch_schedule":{"type":"string","description":"The cron schedule for OS patching. This must be in the form of cron syntax. Ex: `0 0 * * *`.","description_kind":"plain","optional":true},"pause_agent_upgrades":{"type":"string","description":"The pause agent upgrades setting allows to control the automatic upgrade of the Palette component and agent for an individual cluster. The default value is `unlock`, meaning upgrades occur automatically. Setting it to `lock` pauses automatic agent upgrades for the cluster.","description_kind":"plain","optional":true},"skip_completion":{"type":"bool","description":"If `true`, the cluster will be created asynchronously. Default value is `false`.","description_kind":"plain","optional":true},"tags":{"type":["set","string"],"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.","description_kind":"plain","optional":true}},"block_types":{"backup_policy":{"nesting_mode":"list","block":{"attributes":{"backup_location_id":{"type":"string","description":"The ID of the backup location to use for the backup.","description_kind":"plain","required":true},"cluster_uids":{"type":["set","string"],"description":"The list of cluster UIDs to include in the backup. If `include_all_clusters` is set to `true`, then all clusters will be included.","description_kind":"plain","optional":true},"expiry_in_hour":{"type":"number","description":"The number of hours after which the backup will be deleted. For example, if the expiry is set to 24, the backup will be deleted after 24 hours.","description_kind":"plain","required":true},"include_all_clusters":{"type":"bool","description":"Whether to include all clusters in the backup. If set to false, only the clusters specified in `cluster_uids` will be included.","description_kind":"plain","optional":true},"include_cluster_resources":{"type":"bool","description":"Whether to include the cluster resources in the backup. If set to false, only the cluster configuration and disks will be backed up.","description_kind":"plain","optional":true},"include_disks":{"type":"bool","description":"Whether to include the disks in the backup. If set to false, only the cluster configuration will be backed up.","description_kind":"plain","optional":true},"namespaces":{"type":["set","string"],"description":"The list of Kubernetes namespaces to include in the backup. If not specified, all namespaces will be included.","description_kind":"plain","optional":true},"prefix":{"type":"string","description":"Prefix for the backup name. The backup name will be of the format \u003cprefix\u003e-\u003ccluster-name\u003e-\u003ctimestamp\u003e.","description_kind":"plain","required":true},"schedule":{"type":"string","description":"The schedule for the backup. The schedule is specified in cron format. For example, to run the backup every day at 1:00 AM, the schedule should be set to `0 1 * * *`.","description_kind":"plain","required":true}},"description":"The backup policy for the cluster. If not specified, no backups will be taken.","description_kind":"plain"},"max_items":1},"cloud_config":{"nesting_mode":"list","block":{"attributes":{"values":{"type":"string","description":"The values of the cloud config. The values are specified in YAML format. ","description_kind":"plain","required":true}},"description":"The Cloud environment configuration settings such as network parameters and encryption parameters that apply to this cluster.","description_kind":"plain"},"min_items":1,"max_items":1},"cluster_profile":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The ID of the cluster profile.","description_kind":"plain","required":true}},"block_types":{"pack":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile. ","description_kind":"plain","required":true},"registry_uid":{"type":"string","description":"The registry UID of the pack. The registry UID is the unique identifier of the registry. This attribute is required if there is more than one registry that contains a pack with the same name. ","description_kind":"plain","optional":true},"tag":{"type":"string","description":"The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. ","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`.","description_kind":"plain","optional":true},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the [`spectrocloud_pack`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) data source. This value is required if the pack type is `spectro` and for `helm` if the chart is from a public helm registry.","description_kind":"plain","optional":true,"computed":true},"values":{"type":"string","description":"The values of the pack. The values are the configuration values of the pack. The values are specified in YAML format. ","description_kind":"plain","optional":true}},"block_types":{"manifest":{"nesting_mode":"list","block":{"attributes":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest. ","description_kind":"plain","required":true},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack. ","description_kind":"plain","required":true},"uid":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}}},"description":"For packs of type `spectro`, `helm`, and `manifest`, at least one pack must be specified.","description_kind":"plain"}}},"description_kind":"plain"}},"cluster_rbac_binding":{"nesting_mode":"list","block":{"attributes":{"namespace":{"type":"string","description":"The Kubernetes namespace of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"role":{"type":["map","string"],"description":"The role of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`.","description_kind":"plain","required":true}},"block_types":{"subjects":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the subject. Required if 'type' is set to 'User' or 'Group'.","description_kind":"plain","required":true},"namespace":{"type":"string","description":"The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description":"The RBAC binding for the cluster.","description_kind":"plain"}},"location_config":{"nesting_mode":"list","block":{"attributes":{"country_code":{"type":"string","description":"The country code of the country the cluster is located in.","description_kind":"plain","optional":true},"country_name":{"type":"string","description":"The name of the country.","description_kind":"plain","optional":true},"latitude":{"type":"number","description":"The latitude coordinates value.","description_kind":"plain","required":true},"longitude":{"type":"number","description":"The longitude coordinates value.","description_kind":"plain","required":true},"region_code":{"type":"string","description":"The region code of where the cluster is located in.","description_kind":"plain","optional":true},"region_name":{"type":"string","description":"The name of the region.","description_kind":"plain","optional":true}},"description_kind":"plain"}},"machine_pool":{"nesting_mode":"list","block":{"attributes":{"control_plane":{"type":"bool","description":"Whether this machine pool is a control plane. Defaults to `false`.","description_kind":"plain","optional":true},"control_plane_as_worker":{"type":"bool","description":"Whether this machine pool is a control plane and a worker. Defaults to `false`.","description_kind":"plain","optional":true},"count":{"type":"number","description":"Number of nodes in the machine pool. This will be derived from the replica value in the 'node_pool_config'.","description_kind":"plain","computed":true},"name":{"type":"string","description":"The name of the machine pool. This will be derived from the name value in the `node_pool_config`.","description_kind":"plain","computed":true},"node_pool_config":{"type":"string","description":"The values of the node pool config. The values are specified in YAML format. ","description_kind":"plain","required":true}},"description":"The machine pool configuration for the cluster.","description_kind":"plain"},"min_items":1},"namespaces":{"nesting_mode":"list","block":{"attributes":{"images_blacklist":{"type":["list","string"],"description":"List of images to disallow for the namespace. For example, `['nginx:latest', 'redis:latest']`","description_kind":"plain","optional":true},"name":{"type":"string","description":"Name of the namespace. This is the name of the Kubernetes namespace in the cluster.","description_kind":"plain","required":true},"resource_allocation":{"type":["map","string"],"description":"Resource allocation for the namespace. This is a map containing the resource type and the resource value. For example, `{cpu_cores: '2', memory_MiB: '2048'}`","description_kind":"plain","required":true}},"description":"The namespaces for the cluster.","description_kind":"plain"}},"scan_policy":{"nesting_mode":"list","block":{"attributes":{"configuration_scan_schedule":{"type":"string","description":"The schedule for configuration scan.","description_kind":"plain","required":true},"conformance_scan_schedule":{"type":"string","description":"The schedule for conformance scan.","description_kind":"plain","required":true},"penetration_scan_schedule":{"type":"string","description":"The schedule for penetration scan.","description_kind":"plain","required":true}},"description":"The scan policy for the cluster.","description_kind":"plain"},"max_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":"Resource for managing custom cloud clusters in Spectro Cloud through Palette.","description_kind":"plain"}},"spectrocloud_cluster_edge_native":{"version":2,"block":{"attributes":{"admin_kube_config":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using `kubectl`, With admin privilege.","description_kind":"plain","computed":true},"apply_setting":{"type":"string","description":"The setting to apply the cluster profile. `DownloadAndInstall` will download and install packs in one action. `DownloadAndInstallLater` will only download artifact and postpone install for later. Default value is `DownloadAndInstall`.","description_kind":"plain","optional":true},"cloud_account_id":{"type":"string","description_kind":"plain","optional":true},"cloud_config_id":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type `azure`.","description_kind":"plain","deprecated":true,"computed":true},"cluster_meta_attribute":{"type":"string","description":"`cluster_meta_attribute` can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`","description_kind":"plain","optional":true},"context":{"type":"string","description":"The context of the Edge cluster. Allowed values are `project` or `tenant`. Default is `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.","description_kind":"plain","optional":true},"force_delete":{"type":"bool","description":"If set to `true`, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.","description_kind":"plain","optional":true},"force_delete_delay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using `kubectl`.","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true},"os_patch_after":{"type":"string","description":"Date and time after which to patch cluster `RFC3339: 2006-01-02T15:04:05Z07:00`","description_kind":"plain","optional":true},"os_patch_on_boot":{"type":"bool","description":"Whether to apply OS patch on boot. Default is `false`.","description_kind":"plain","optional":true},"os_patch_schedule":{"type":"string","description":"The cron schedule for OS patching. This must be in the form of cron syntax. Ex: `0 0 * * *`.","description_kind":"plain","optional":true},"pause_agent_upgrades":{"type":"string","description":"The pause agent upgrades setting allows to control the automatic upgrade of the Palette component and agent for an individual cluster. The default value is `unlock`, meaning upgrades occur automatically. Setting it to `lock` pauses automatic agent upgrades for the cluster.","description_kind":"plain","optional":true},"review_repave_state":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.","description_kind":"plain","optional":true},"skip_completion":{"type":"bool","description":"If `true`, the cluster will be created asynchronously. Default value is `false`.","description_kind":"plain","optional":true},"tags":{"type":["set","string"],"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.","description_kind":"plain","optional":true}},"block_types":{"backup_policy":{"nesting_mode":"list","block":{"attributes":{"backup_location_id":{"type":"string","description":"The ID of the backup location to use for the backup.","description_kind":"plain","required":true},"cluster_uids":{"type":["set","string"],"description":"The list of cluster UIDs to include in the backup. If `include_all_clusters` is set to `true`, then all clusters will be included.","description_kind":"plain","optional":true},"expiry_in_hour":{"type":"number","description":"The number of hours after which the backup will be deleted. For example, if the expiry is set to 24, the backup will be deleted after 24 hours.","description_kind":"plain","required":true},"include_all_clusters":{"type":"bool","description":"Whether to include all clusters in the backup. If set to false, only the clusters specified in `cluster_uids` will be included.","description_kind":"plain","optional":true},"include_cluster_resources":{"type":"bool","description":"Whether to include the cluster resources in the backup. If set to false, only the cluster configuration and disks will be backed up.","description_kind":"plain","optional":true},"include_disks":{"type":"bool","description":"Whether to include the disks in the backup. If set to false, only the cluster configuration will be backed up.","description_kind":"plain","optional":true},"namespaces":{"type":["set","string"],"description":"The list of Kubernetes namespaces to include in the backup. If not specified, all namespaces will be included.","description_kind":"plain","optional":true},"prefix":{"type":"string","description":"Prefix for the backup name. The backup name will be of the format \u003cprefix\u003e-\u003ccluster-name\u003e-\u003ctimestamp\u003e.","description_kind":"plain","required":true},"schedule":{"type":"string","description":"The schedule for the backup. The schedule is specified in cron format. For example, to run the backup every day at 1:00 AM, the schedule should be set to `0 1 * * *`.","description_kind":"plain","required":true}},"description":"The backup policy for the cluster. If not specified, no backups will be taken.","description_kind":"plain"},"max_items":1},"cloud_config":{"nesting_mode":"list","block":{"attributes":{"ntp_servers":{"type":["set","string"],"description":"A list of NTP servers to be used by the cluster.","description_kind":"plain","optional":true},"overlay_cidr_range":{"type":"string","description":"The Overlay (VPN) creates a virtual network, using techniques like VxLAN. It overlays the existing network infrastructure, enhancing connectivity either at Layer 2 or Layer 3, making it flexible and adaptable for various needs. For example, `100.64.192.0/24`","description_kind":"plain","optional":true},"ssh_keys":{"type":["set","string"],"description":"List of public SSH (Secure Shell) to establish, administer, and communicate with remote clusters.","description_kind":"plain","optional":true},"vip":{"type":"string","description":"The `vip` can be specified as either an IP address or a fully qualified domain name (FQDN). If `overlay_cidr_range` is set, the `vip` should be within the specified `overlay_cidr_range`. By default, the `vip` is set to the first IP address within the given `overlay_cidr_range`.","description_kind":"plain","optional":true}},"description_kind":"plain"},"min_items":1,"max_items":1},"cluster_profile":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The ID of the cluster profile.","description_kind":"plain","required":true}},"block_types":{"pack":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile. ","description_kind":"plain","required":true},"registry_uid":{"type":"string","description":"The registry UID of the pack. The registry UID is the unique identifier of the registry. This attribute is required if there is more than one registry that contains a pack with the same name. ","description_kind":"plain","optional":true},"tag":{"type":"string","description":"The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. ","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`.","description_kind":"plain","optional":true},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the [`spectrocloud_pack`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) data source. This value is required if the pack type is `spectro` and for `helm` if the chart is from a public helm registry.","description_kind":"plain","optional":true,"computed":true},"values":{"type":"string","description":"The values of the pack. The values are the configuration values of the pack. The values are specified in YAML format. ","description_kind":"plain","optional":true}},"block_types":{"manifest":{"nesting_mode":"list","block":{"attributes":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest. ","description_kind":"plain","required":true},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack. ","description_kind":"plain","required":true},"uid":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}}},"description":"For packs of type `spectro`, `helm`, and `manifest`, at least one pack must be specified.","description_kind":"plain"}}},"description_kind":"plain"}},"cluster_rbac_binding":{"nesting_mode":"list","block":{"attributes":{"namespace":{"type":"string","description":"The Kubernetes namespace of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"role":{"type":["map","string"],"description":"The role of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`.","description_kind":"plain","required":true}},"block_types":{"subjects":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the subject. Required if 'type' is set to 'User' or 'Group'.","description_kind":"plain","required":true},"namespace":{"type":"string","description":"The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description":"The RBAC binding for the cluster.","description_kind":"plain"}},"host_config":{"nesting_mode":"list","block":{"attributes":{"external_traffic_policy":{"type":"string","description":"The external traffic policy for the cluster.","description_kind":"plain","optional":true},"host_endpoint_type":{"type":"string","description":"The type of endpoint for the cluster. Can be either 'Ingress' or 'LoadBalancer'. The default is 'Ingress'.","description_kind":"plain","optional":true},"ingress_host":{"type":"string","description":"The host for the Ingress endpoint. Required if 'host_endpoint_type' is set to 'Ingress'.","description_kind":"plain","optional":true},"load_balancer_source_ranges":{"type":"string","description":"The source ranges for the load balancer. Required if 'host_endpoint_type' is set to 'LoadBalancer'.","description_kind":"plain","optional":true}},"description":"The host configuration for the cluster.","description_kind":"plain"}},"location_config":{"nesting_mode":"list","block":{"attributes":{"country_code":{"type":"string","description":"The country code of the country the cluster is located in.","description_kind":"plain","optional":true},"country_name":{"type":"string","description":"The name of the country.","description_kind":"plain","optional":true},"latitude":{"type":"number","description":"The latitude coordinates value.","description_kind":"plain","required":true},"longitude":{"type":"number","description":"The longitude coordinates value.","description_kind":"plain","required":true},"region_code":{"type":"string","description":"The region code of where the cluster is located in.","description_kind":"plain","optional":true},"region_name":{"type":"string","description":"The name of the region.","description_kind":"plain","optional":true}},"description_kind":"plain"}},"machine_pool":{"nesting_mode":"set","block":{"attributes":{"additional_labels":{"type":["map","string"],"description_kind":"plain","optional":true},"control_plane":{"type":"bool","description":"Whether this machine pool is a control plane. Defaults to `false`.","description_kind":"plain","optional":true},"control_plane_as_worker":{"type":"bool","description":"Whether this machine pool is a control plane and a worker. Defaults to `false`.","description_kind":"plain","optional":true},"name":{"type":"string","description_kind":"plain","required":true},"node_repave_interval":{"type":"number","description":"Minimum number of seconds node should be Ready, before the next node is selected for repave. Default value is `0`, Applicable only for worker pools.","description_kind":"plain","optional":true},"update_strategy":{"type":"string","description":"Update strategy for the machine pool. Valid values are `RollingUpdateScaleOut` and `RollingUpdateScaleIn`.","description_kind":"plain","optional":true}},"block_types":{"edge_host":{"nesting_mode":"list","block":{"attributes":{"host_name":{"type":"string","description":"Edge host name","description_kind":"plain","optional":true},"host_uid":{"type":"string","description":"Edge host id","description_kind":"plain","required":true},"static_ip":{"type":"string","description":"Edge host static IP","description_kind":"plain","optional":true},"two_node_role":{"type":"string","description":"Two node role for edge host. Valid values are `primary` and `secondary`.","description_kind":"plain","optional":true}},"description_kind":"plain"},"min_items":1},"node":{"nesting_mode":"list","block":{"attributes":{"action":{"type":"string","description":"The action to perform on the node. Valid values are: `cordon`, `uncordon`.","description_kind":"plain","required":true},"node_id":{"type":"string","description":"The node_id of the node, For example `i-07f899a33dee624f7`","description_kind":"plain","required":true}},"description_kind":"plain"}},"taints":{"nesting_mode":"list","block":{"attributes":{"effect":{"type":"string","description":"The effect of the taint. Allowed values are: `NoSchedule`, `PreferNoSchedule` or `NoExecute`.","description_kind":"plain","required":true},"key":{"type":"string","description":"The key of the taint.","description_kind":"plain","required":true},"value":{"type":"string","description":"The value of the taint.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description_kind":"plain"},"min_items":1},"namespaces":{"nesting_mode":"list","block":{"attributes":{"images_blacklist":{"type":["list","string"],"description":"List of images to disallow for the namespace. For example, `['nginx:latest', 'redis:latest']`","description_kind":"plain","optional":true},"name":{"type":"string","description":"Name of the namespace. This is the name of the Kubernetes namespace in the cluster.","description_kind":"plain","required":true},"resource_allocation":{"type":["map","string"],"description":"Resource allocation for the namespace. This is a map containing the resource type and the resource value. For example, `{cpu_cores: '2', memory_MiB: '2048'}`","description_kind":"plain","required":true}},"description":"The namespaces for the cluster.","description_kind":"plain"}},"scan_policy":{"nesting_mode":"list","block":{"attributes":{"configuration_scan_schedule":{"type":"string","description":"The schedule for configuration scan.","description_kind":"plain","required":true},"conformance_scan_schedule":{"type":"string","description":"The schedule for conformance scan.","description_kind":"plain","required":true},"penetration_scan_schedule":{"type":"string","description":"The schedule for penetration scan.","description_kind":"plain","required":true}},"description":"The scan policy for the cluster.","description_kind":"plain"},"max_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":"Resource for managing Edge Native clusters in Spectro Cloud through Palette.","description_kind":"plain"}},"spectrocloud_cluster_edge_vsphere":{"version":0,"block":{"attributes":{"admin_kube_config":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using `kubectl`, With admin privilege.","description_kind":"plain","computed":true},"cloud_config_id":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type `azure`.","description_kind":"plain","deprecated":true,"computed":true},"cluster_meta_attribute":{"type":"string","description":"`cluster_meta_attribute` can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`","description_kind":"plain","optional":true},"context":{"type":"string","description":"The context of the Edge cluster. Allowed values are `project` or `tenant`. Default is `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.","description_kind":"plain","optional":true},"edge_host_uid":{"type":"string","description_kind":"plain","required":true},"force_delete":{"type":"bool","description":"If set to `true`, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.","description_kind":"plain","optional":true},"force_delete_delay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using `kubectl`.","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true},"os_patch_after":{"type":"string","description":"Date and time after which to patch cluster `RFC3339: 2006-01-02T15:04:05Z07:00`","description_kind":"plain","optional":true},"os_patch_on_boot":{"type":"bool","description":"Whether to apply OS patch on boot. Default is `false`.","description_kind":"plain","optional":true},"os_patch_schedule":{"type":"string","description":"Cron schedule for OS patching. This must be in the form of `0 0 * * *`.","description_kind":"plain","optional":true},"pause_agent_upgrades":{"type":"string","description":"The pause agent upgrades setting allows to control the automatic upgrade of the Palette component and agent for an individual cluster. The default value is `unlock`, meaning upgrades occur automatically. Setting it to `lock` pauses automatic agent upgrades for the cluster.","description_kind":"plain","optional":true},"review_repave_state":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.","description_kind":"plain","optional":true},"skip_completion":{"type":"bool","description":"If `true`, the cluster will be created asynchronously. Default value is `false`.","description_kind":"plain","optional":true},"tags":{"type":["set","string"],"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.","description_kind":"plain","optional":true}},"block_types":{"backup_policy":{"nesting_mode":"list","block":{"attributes":{"backup_location_id":{"type":"string","description":"The ID of the backup location to use for the backup.","description_kind":"plain","required":true},"cluster_uids":{"type":["set","string"],"description":"The list of cluster UIDs to include in the backup. If `include_all_clusters` is set to `true`, then all clusters will be included.","description_kind":"plain","optional":true},"expiry_in_hour":{"type":"number","description":"The number of hours after which the backup will be deleted. For example, if the expiry is set to 24, the backup will be deleted after 24 hours.","description_kind":"plain","required":true},"include_all_clusters":{"type":"bool","description":"Whether to include all clusters in the backup. If set to false, only the clusters specified in `cluster_uids` will be included.","description_kind":"plain","optional":true},"include_cluster_resources":{"type":"bool","description":"Whether to include the cluster resources in the backup. If set to false, only the cluster configuration and disks will be backed up.","description_kind":"plain","optional":true},"include_disks":{"type":"bool","description":"Whether to include the disks in the backup. If set to false, only the cluster configuration will be backed up.","description_kind":"plain","optional":true},"namespaces":{"type":["set","string"],"description":"The list of Kubernetes namespaces to include in the backup. If not specified, all namespaces will be included.","description_kind":"plain","optional":true},"prefix":{"type":"string","description":"Prefix for the backup name. The backup name will be of the format \u003cprefix\u003e-\u003ccluster-name\u003e-\u003ctimestamp\u003e.","description_kind":"plain","required":true},"schedule":{"type":"string","description":"The schedule for the backup. The schedule is specified in cron format. For example, to run the backup every day at 1:00 AM, the schedule should be set to `0 1 * * *`.","description_kind":"plain","required":true}},"description":"The backup policy for the cluster. If not specified, no backups will be taken.","description_kind":"plain"},"max_items":1},"cloud_config":{"nesting_mode":"list","block":{"attributes":{"datacenter":{"type":"string","description_kind":"plain","required":true},"folder":{"type":"string","description_kind":"plain","required":true},"image_template_folder":{"type":"string","description_kind":"plain","optional":true},"network_search_domain":{"type":"string","description_kind":"plain","optional":true},"network_type":{"type":"string","description_kind":"plain","optional":true},"ssh_key":{"type":"string","description":"Public SSH Key (Secure Shell) to establish, administer, and communicate with remote clusters, `ssh_key \u0026 ssh_keys` are mutually exclusive.","description_kind":"plain","optional":true},"ssh_keys":{"type":["set","string"],"description":"List of public SSH (Secure Shell) keys to establish, administer, and communicate with remote clusters, `ssh_key \u0026 ssh_keys` are mutually exclusive.","description_kind":"plain","optional":true},"static_ip":{"type":"bool","description_kind":"plain","optional":true},"vip":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1},"cluster_profile":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The ID of the cluster profile.","description_kind":"plain","required":true}},"block_types":{"pack":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile. ","description_kind":"plain","required":true},"registry_uid":{"type":"string","description":"The registry UID of the pack. The registry UID is the unique identifier of the registry. This attribute is required if there is more than one registry that contains a pack with the same name. ","description_kind":"plain","optional":true},"tag":{"type":"string","description":"The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. ","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`.","description_kind":"plain","optional":true},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the [`spectrocloud_pack`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) data source. This value is required if the pack type is `spectro` and for `helm` if the chart is from a public helm registry.","description_kind":"plain","optional":true,"computed":true},"values":{"type":"string","description":"The values of the pack. The values are the configuration values of the pack. The values are specified in YAML format. ","description_kind":"plain","optional":true}},"block_types":{"manifest":{"nesting_mode":"list","block":{"attributes":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest. ","description_kind":"plain","required":true},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack. ","description_kind":"plain","required":true},"uid":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}}},"description":"For packs of type `spectro`, `helm`, and `manifest`, at least one pack must be specified.","description_kind":"plain"}}},"description_kind":"plain"}},"cluster_rbac_binding":{"nesting_mode":"list","block":{"attributes":{"namespace":{"type":"string","description":"The Kubernetes namespace of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"role":{"type":["map","string"],"description":"The role of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`.","description_kind":"plain","required":true}},"block_types":{"subjects":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the subject. Required if 'type' is set to 'User' or 'Group'.","description_kind":"plain","required":true},"namespace":{"type":"string","description":"The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description":"The RBAC binding for the cluster.","description_kind":"plain"}},"host_config":{"nesting_mode":"list","block":{"attributes":{"external_traffic_policy":{"type":"string","description":"The external traffic policy for the cluster.","description_kind":"plain","optional":true},"host_endpoint_type":{"type":"string","description":"The type of endpoint for the cluster. Can be either 'Ingress' or 'LoadBalancer'. The default is 'Ingress'.","description_kind":"plain","optional":true},"ingress_host":{"type":"string","description":"The host for the Ingress endpoint. Required if 'host_endpoint_type' is set to 'Ingress'.","description_kind":"plain","optional":true},"load_balancer_source_ranges":{"type":"string","description":"The source ranges for the load balancer. Required if 'host_endpoint_type' is set to 'LoadBalancer'.","description_kind":"plain","optional":true}},"description":"The host configuration for the cluster.","description_kind":"plain"}},"location_config":{"nesting_mode":"list","block":{"attributes":{"country_code":{"type":"string","description":"The country code of the country the cluster is located in.","description_kind":"plain","optional":true},"country_name":{"type":"string","description":"The name of the country.","description_kind":"plain","optional":true},"latitude":{"type":"number","description":"The latitude coordinates value.","description_kind":"plain","required":true},"longitude":{"type":"number","description":"The longitude coordinates value.","description_kind":"plain","required":true},"region_code":{"type":"string","description":"The region code of where the cluster is located in.","description_kind":"plain","optional":true},"region_name":{"type":"string","description":"The name of the region.","description_kind":"plain","optional":true}},"description_kind":"plain"}},"machine_pool":{"nesting_mode":"list","block":{"attributes":{"additional_labels":{"type":["map","string"],"description_kind":"plain","optional":true},"control_plane":{"type":"bool","description":"Whether this machine pool is a control plane. Defaults to `false`.","description_kind":"plain","optional":true},"control_plane_as_worker":{"type":"bool","description":"Whether this machine pool is a control plane and a worker. Defaults to `false`.","description_kind":"plain","optional":true},"count":{"type":"number","description":"Number of nodes in the machine pool.","description_kind":"plain","required":true},"name":{"type":"string","description_kind":"plain","required":true},"node_repave_interval":{"type":"number","description":"Minimum number of seconds node should be Ready, before the next node is selected for repave. Default value is `0`, Applicable only for worker pools.","description_kind":"plain","optional":true},"update_strategy":{"type":"string","description":"Update strategy for the machine pool. Valid values are `RollingUpdateScaleOut` and `RollingUpdateScaleIn`.","description_kind":"plain","optional":true}},"block_types":{"instance_type":{"nesting_mode":"list","block":{"attributes":{"cpu":{"type":"number","description_kind":"plain","required":true},"disk_size_gb":{"type":"number","description_kind":"plain","required":true},"memory_mb":{"type":"number","description_kind":"plain","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1},"node":{"nesting_mode":"list","block":{"attributes":{"action":{"type":"string","description":"The action to perform on the node. Valid values are: `cordon`, `uncordon`.","description_kind":"plain","required":true},"node_id":{"type":"string","description":"The node_id of the node, For example `i-07f899a33dee624f7`","description_kind":"plain","required":true}},"description_kind":"plain"}},"placement":{"nesting_mode":"list","block":{"attributes":{"cluster":{"type":"string","description_kind":"plain","required":true},"datastore":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","computed":true},"network":{"type":"string","description_kind":"plain","required":true},"resource_pool":{"type":"string","description_kind":"plain","required":true},"static_ip_pool_id":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"},"min_items":1},"taints":{"nesting_mode":"list","block":{"attributes":{"effect":{"type":"string","description":"The effect of the taint. Allowed values are: `NoSchedule`, `PreferNoSchedule` or `NoExecute`.","description_kind":"plain","required":true},"key":{"type":"string","description":"The key of the taint.","description_kind":"plain","required":true},"value":{"type":"string","description":"The value of the taint.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description_kind":"plain"},"min_items":1},"namespaces":{"nesting_mode":"list","block":{"attributes":{"images_blacklist":{"type":["list","string"],"description":"List of images to disallow for the namespace. For example, `['nginx:latest', 'redis:latest']`","description_kind":"plain","optional":true},"name":{"type":"string","description":"Name of the namespace. This is the name of the Kubernetes namespace in the cluster.","description_kind":"plain","required":true},"resource_allocation":{"type":["map","string"],"description":"Resource allocation for the namespace. This is a map containing the resource type and the resource value. For example, `{cpu_cores: '2', memory_MiB: '2048'}`","description_kind":"plain","required":true}},"description":"The namespaces for the cluster.","description_kind":"plain"}},"scan_policy":{"nesting_mode":"list","block":{"attributes":{"configuration_scan_schedule":{"type":"string","description":"The schedule for configuration scan.","description_kind":"plain","required":true},"conformance_scan_schedule":{"type":"string","description":"The schedule for conformance scan.","description_kind":"plain","required":true},"penetration_scan_schedule":{"type":"string","description":"The schedule for penetration scan.","description_kind":"plain","required":true}},"description":"The scan policy for the cluster.","description_kind":"plain"},"max_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"}},"spectrocloud_cluster_eks":{"version":2,"block":{"attributes":{"admin_kube_config":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using `kubectl`, With admin privilege.","description_kind":"plain","computed":true},"apply_setting":{"type":"string","description":"The setting to apply the cluster profile. `DownloadAndInstall` will download and install packs in one action. `DownloadAndInstallLater` will only download artifact and postpone install for later. Default value is `DownloadAndInstall`.","description_kind":"plain","optional":true},"cloud_account_id":{"type":"string","description":"The AWS cloud account id to use for this cluster.","description_kind":"plain","required":true},"cloud_config_id":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type `azure`.","description_kind":"plain","deprecated":true,"computed":true},"cluster_meta_attribute":{"type":"string","description":"`cluster_meta_attribute` can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`","description_kind":"plain","optional":true},"context":{"type":"string","description":"The context of the EKS cluster. Allowed values are `project` or `tenant`. Default is `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.","description_kind":"plain","optional":true},"force_delete":{"type":"bool","description":"If set to `true`, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.","description_kind":"plain","optional":true},"force_delete_delay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using `kubectl`.","description_kind":"plain","computed":true},"location_config":{"type":["list",["object",{"country_code":"string","country_name":"string","latitude":"number","longitude":"number","region_code":"string","region_name":"string"}]],"description":"The location of the cluster.","description_kind":"plain","computed":true},"name":{"type":"string","description":"The name of the cluster.","description_kind":"plain","required":true},"os_patch_after":{"type":"string","description":"Date and time after which to patch cluster `RFC3339: 2006-01-02T15:04:05Z07:00`","description_kind":"plain","optional":true},"os_patch_on_boot":{"type":"bool","description":"Whether to apply OS patch on boot. Default is `false`.","description_kind":"plain","optional":true},"os_patch_schedule":{"type":"string","description":"Cron schedule for OS patching. This must be in the form of `0 0 * * *`.","description_kind":"plain","optional":true},"pause_agent_upgrades":{"type":"string","description":"The pause agent upgrades setting allows to control the automatic upgrade of the Palette component and agent for an individual cluster. The default value is `unlock`, meaning upgrades occur automatically. Setting it to `lock` pauses automatic agent upgrades for the cluster.","description_kind":"plain","optional":true},"review_repave_state":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.","description_kind":"plain","optional":true},"skip_completion":{"type":"bool","description":"If `true`, the cluster will be created asynchronously. Default value is `false`.","description_kind":"plain","optional":true},"tags":{"type":["set","string"],"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.","description_kind":"plain","optional":true}},"block_types":{"backup_policy":{"nesting_mode":"list","block":{"attributes":{"backup_location_id":{"type":"string","description":"The ID of the backup location to use for the backup.","description_kind":"plain","required":true},"cluster_uids":{"type":["set","string"],"description":"The list of cluster UIDs to include in the backup. If `include_all_clusters` is set to `true`, then all clusters will be included.","description_kind":"plain","optional":true},"expiry_in_hour":{"type":"number","description":"The number of hours after which the backup will be deleted. For example, if the expiry is set to 24, the backup will be deleted after 24 hours.","description_kind":"plain","required":true},"include_all_clusters":{"type":"bool","description":"Whether to include all clusters in the backup. If set to false, only the clusters specified in `cluster_uids` will be included.","description_kind":"plain","optional":true},"include_cluster_resources":{"type":"bool","description":"Whether to include the cluster resources in the backup. If set to false, only the cluster configuration and disks will be backed up.","description_kind":"plain","optional":true},"include_disks":{"type":"bool","description":"Whether to include the disks in the backup. If set to false, only the cluster configuration will be backed up.","description_kind":"plain","optional":true},"namespaces":{"type":["set","string"],"description":"The list of Kubernetes namespaces to include in the backup. If not specified, all namespaces will be included.","description_kind":"plain","optional":true},"prefix":{"type":"string","description":"Prefix for the backup name. The backup name will be of the format \u003cprefix\u003e-\u003ccluster-name\u003e-\u003ctimestamp\u003e.","description_kind":"plain","required":true},"schedule":{"type":"string","description":"The schedule for the backup. The schedule is specified in cron format. For example, to run the backup every day at 1:00 AM, the schedule should be set to `0 1 * * *`.","description_kind":"plain","required":true}},"description":"The backup policy for the cluster. If not specified, no backups will be taken.","description_kind":"plain"},"max_items":1},"cloud_config":{"nesting_mode":"list","block":{"attributes":{"az_subnets":{"type":["map","string"],"description":"Mutually exclusive with `azs`. Use for Static provisioning.","description_kind":"plain","optional":true},"azs":{"type":["list","string"],"description":"Mutually exclusive with `az_subnets`. Use for Dynamic provisioning.","description_kind":"plain","optional":true},"encryption_config_arn":{"type":"string","description":"The ARN of the KMS encryption key to use for the cluster. Refer to the [Enable Secrets Encryption for EKS Cluster](https://docs.spectrocloud.com/clusters/public-cloud/aws/enable-secrets-encryption-kms-key/) for additional guidance.","description_kind":"plain","optional":true},"endpoint_access":{"type":"string","description":"Choose between `private`, `public`, or `private_and_public` to define how communication is established with the endpoint for the managed Kubernetes API server and your cluster. The default value is `public`.","description_kind":"plain","optional":true},"private_access_cidrs":{"type":["set","string"],"description":"List of CIDR blocks that define the allowed private access to the resource. Only requests originating from addresses within these CIDR blocks will be permitted to access the resource.","description_kind":"plain","optional":true},"public_access_cidrs":{"type":["set","string"],"description":"List of CIDR blocks that define the allowed public access to the resource. Requests originating from addresses within these CIDR blocks will be permitted to access the resource. All other addresses will be denied access.","description_kind":"plain","optional":true},"region":{"type":"string","description_kind":"plain","required":true},"ssh_key_name":{"type":"string","description":"Public SSH key to be used for the cluster nodes.","description_kind":"plain","optional":true},"vpc_id":{"type":"string","description_kind":"plain","optional":true}},"description":"The AWS environment configuration settings such as network parameters and encryption parameters that apply to this cluster.","description_kind":"plain"},"min_items":1,"max_items":1},"cluster_profile":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The ID of the cluster profile.","description_kind":"plain","required":true}},"block_types":{"pack":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile. ","description_kind":"plain","required":true},"registry_uid":{"type":"string","description":"The registry UID of the pack. The registry UID is the unique identifier of the registry. This attribute is required if there is more than one registry that contains a pack with the same name. ","description_kind":"plain","optional":true},"tag":{"type":"string","description":"The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. ","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`.","description_kind":"plain","optional":true},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the [`spectrocloud_pack`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) data source. This value is required if the pack type is `spectro` and for `helm` if the chart is from a public helm registry.","description_kind":"plain","optional":true,"computed":true},"values":{"type":"string","description":"The values of the pack. The values are the configuration values of the pack. The values are specified in YAML format. ","description_kind":"plain","optional":true}},"block_types":{"manifest":{"nesting_mode":"list","block":{"attributes":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest. ","description_kind":"plain","required":true},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack. ","description_kind":"plain","required":true},"uid":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}}},"description":"For packs of type `spectro`, `helm`, and `manifest`, at least one pack must be specified.","description_kind":"plain"}}},"description_kind":"plain"}},"cluster_rbac_binding":{"nesting_mode":"list","block":{"attributes":{"namespace":{"type":"string","description":"The Kubernetes namespace of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"role":{"type":["map","string"],"description":"The role of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`.","description_kind":"plain","required":true}},"block_types":{"subjects":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the subject. Required if 'type' is set to 'User' or 'Group'.","description_kind":"plain","required":true},"namespace":{"type":"string","description":"The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description":"The RBAC binding for the cluster.","description_kind":"plain"}},"fargate_profile":{"nesting_mode":"list","block":{"attributes":{"additional_tags":{"type":["map","string"],"description_kind":"plain","optional":true},"name":{"type":"string","description_kind":"plain","required":true},"subnets":{"type":["list","string"],"description_kind":"plain","optional":true}},"block_types":{"selector":{"nesting_mode":"list","block":{"attributes":{"labels":{"type":["map","string"],"description_kind":"plain","optional":true},"namespace":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"},"min_items":1}},"description_kind":"plain"}},"host_config":{"nesting_mode":"list","block":{"attributes":{"external_traffic_policy":{"type":"string","description":"The external traffic policy for the cluster.","description_kind":"plain","optional":true},"host_endpoint_type":{"type":"string","description":"The type of endpoint for the cluster. Can be either 'Ingress' or 'LoadBalancer'. The default is 'Ingress'.","description_kind":"plain","optional":true},"ingress_host":{"type":"string","description":"The host for the Ingress endpoint. Required if 'host_endpoint_type' is set to 'Ingress'.","description_kind":"plain","optional":true},"load_balancer_source_ranges":{"type":"string","description":"The source ranges for the load balancer. Required if 'host_endpoint_type' is set to 'LoadBalancer'.","description_kind":"plain","optional":true}},"description":"The host configuration for the cluster.","description_kind":"plain"}},"machine_pool":{"nesting_mode":"list","block":{"attributes":{"additional_labels":{"type":["map","string"],"description_kind":"plain","optional":true},"az_subnets":{"type":["map","string"],"description_kind":"plain","optional":true},"azs":{"type":["list","string"],"description_kind":"plain","optional":true},"capacity_type":{"type":"string","description":"Capacity type is an instance type, can be 'on-demand' or 'spot'. Defaults to 'on-demand'.","description_kind":"plain","optional":true},"count":{"type":"number","description":"Number of nodes in the machine pool.","description_kind":"plain","required":true},"disk_size_gb":{"type":"number","description_kind":"plain","required":true},"instance_type":{"type":"string","description_kind":"plain","required":true},"max":{"type":"number","description":"Maximum number of nodes in the machine pool. This is used for autoscaling the machine pool.","description_kind":"plain","optional":true},"max_price":{"type":"string","description_kind":"plain","optional":true},"min":{"type":"number","description":"Minimum number of nodes in the machine pool. This is used for autoscaling the machine pool.","description_kind":"plain","optional":true},"name":{"type":"string","description_kind":"plain","required":true},"update_strategy":{"type":"string","description":"Update strategy for the machine pool. Valid values are `RollingUpdateScaleOut` and `RollingUpdateScaleIn`.","description_kind":"plain","optional":true}},"block_types":{"eks_launch_template":{"nesting_mode":"list","block":{"attributes":{"additional_security_groups":{"type":["set","string"],"description":"Additional security groups to attach to the instance.","description_kind":"plain","optional":true},"ami_id":{"type":"string","description":"The ID of the custom Amazon Machine Image (AMI).","description_kind":"plain","optional":true},"root_volume_iops":{"type":"number","description":"The number of input/output operations per second (IOPS) for the root volume.","description_kind":"plain","optional":true},"root_volume_throughput":{"type":"number","description":"The throughput of the root volume in MiB/s.","description_kind":"plain","optional":true},"root_volume_type":{"type":"string","description":"The type of the root volume.","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"node":{"nesting_mode":"list","block":{"attributes":{"action":{"type":"string","description":"The action to perform on the node. Valid values are: `cordon`, `uncordon`.","description_kind":"plain","required":true},"node_id":{"type":"string","description":"The node_id of the node, For example `i-07f899a33dee624f7`","description_kind":"plain","required":true}},"description_kind":"plain"}},"taints":{"nesting_mode":"list","block":{"attributes":{"effect":{"type":"string","description":"The effect of the taint. Allowed values are: `NoSchedule`, `PreferNoSchedule` or `NoExecute`.","description_kind":"plain","required":true},"key":{"type":"string","description":"The key of the taint.","description_kind":"plain","required":true},"value":{"type":"string","description":"The value of the taint.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description":"The machine pool configuration for the cluster.","description_kind":"plain"},"min_items":1},"namespaces":{"nesting_mode":"list","block":{"attributes":{"images_blacklist":{"type":["list","string"],"description":"List of images to disallow for the namespace. For example, `['nginx:latest', 'redis:latest']`","description_kind":"plain","optional":true},"name":{"type":"string","description":"Name of the namespace. This is the name of the Kubernetes namespace in the cluster.","description_kind":"plain","required":true},"resource_allocation":{"type":["map","string"],"description":"Resource allocation for the namespace. This is a map containing the resource type and the resource value. For example, `{cpu_cores: '2', memory_MiB: '2048'}`","description_kind":"plain","required":true}},"description":"The namespaces for the cluster.","description_kind":"plain"}},"scan_policy":{"nesting_mode":"list","block":{"attributes":{"configuration_scan_schedule":{"type":"string","description":"The schedule for configuration scan.","description_kind":"plain","required":true},"conformance_scan_schedule":{"type":"string","description":"The schedule for conformance scan.","description_kind":"plain","required":true},"penetration_scan_schedule":{"type":"string","description":"The schedule for penetration scan.","description_kind":"plain","required":true}},"description":"The scan policy for the cluster.","description_kind":"plain"},"max_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":"Resource for managing EKS clusters in Spectro Cloud through Palette.","description_kind":"plain"}},"spectrocloud_cluster_gcp":{"version":2,"block":{"attributes":{"admin_kube_config":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using `kubectl`, With admin privilege.","description_kind":"plain","computed":true},"apply_setting":{"type":"string","description":"The setting to apply the cluster profile. `DownloadAndInstall` will download and install packs in one action. `DownloadAndInstallLater` will only download artifact and postpone install for later. Default value is `DownloadAndInstall`.","description_kind":"plain","optional":true},"cloud_account_id":{"type":"string","description_kind":"plain","required":true},"cloud_config_id":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type `azure`.","description_kind":"plain","deprecated":true,"computed":true},"cluster_meta_attribute":{"type":"string","description":"`cluster_meta_attribute` can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`","description_kind":"plain","optional":true},"context":{"type":"string","description":"The context of the GCP cluster. Allowed values are `project` or `tenant`. Default is `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.","description_kind":"plain","optional":true},"force_delete":{"type":"bool","description":"If set to `true`, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.","description_kind":"plain","optional":true},"force_delete_delay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using `kubectl`.","description_kind":"plain","computed":true},"location_config":{"type":["list",["object",{"country_code":"string","country_name":"string","latitude":"number","longitude":"number","region_code":"string","region_name":"string"}]],"description":"The location of the cluster.","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true},"os_patch_after":{"type":"string","description":"Date and time after which to patch cluster `RFC3339: 2006-01-02T15:04:05Z07:00`","description_kind":"plain","optional":true},"os_patch_on_boot":{"type":"bool","description":"Whether to apply OS patch on boot. Default is `false`.","description_kind":"plain","optional":true},"os_patch_schedule":{"type":"string","description":"Cron schedule for OS patching. This must be in the form of `0 0 * * *`.","description_kind":"plain","optional":true},"pause_agent_upgrades":{"type":"string","description":"The pause agent upgrades setting allows to control the automatic upgrade of the Palette component and agent for an individual cluster. The default value is `unlock`, meaning upgrades occur automatically. Setting it to `lock` pauses automatic agent upgrades for the cluster.","description_kind":"plain","optional":true},"review_repave_state":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.","description_kind":"plain","optional":true},"skip_completion":{"type":"bool","description":"If `true`, the cluster will be created asynchronously. Default value is `false`.","description_kind":"plain","optional":true},"tags":{"type":["set","string"],"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.","description_kind":"plain","optional":true}},"block_types":{"backup_policy":{"nesting_mode":"list","block":{"attributes":{"backup_location_id":{"type":"string","description":"The ID of the backup location to use for the backup.","description_kind":"plain","required":true},"cluster_uids":{"type":["set","string"],"description":"The list of cluster UIDs to include in the backup. If `include_all_clusters` is set to `true`, then all clusters will be included.","description_kind":"plain","optional":true},"expiry_in_hour":{"type":"number","description":"The number of hours after which the backup will be deleted. For example, if the expiry is set to 24, the backup will be deleted after 24 hours.","description_kind":"plain","required":true},"include_all_clusters":{"type":"bool","description":"Whether to include all clusters in the backup. If set to false, only the clusters specified in `cluster_uids` will be included.","description_kind":"plain","optional":true},"include_cluster_resources":{"type":"bool","description":"Whether to include the cluster resources in the backup. If set to false, only the cluster configuration and disks will be backed up.","description_kind":"plain","optional":true},"include_disks":{"type":"bool","description":"Whether to include the disks in the backup. If set to false, only the cluster configuration will be backed up.","description_kind":"plain","optional":true},"namespaces":{"type":["set","string"],"description":"The list of Kubernetes namespaces to include in the backup. If not specified, all namespaces will be included.","description_kind":"plain","optional":true},"prefix":{"type":"string","description":"Prefix for the backup name. The backup name will be of the format \u003cprefix\u003e-\u003ccluster-name\u003e-\u003ctimestamp\u003e.","description_kind":"plain","required":true},"schedule":{"type":"string","description":"The schedule for the backup. The schedule is specified in cron format. For example, to run the backup every day at 1:00 AM, the schedule should be set to `0 1 * * *`.","description_kind":"plain","required":true}},"description":"The backup policy for the cluster. If not specified, no backups will be taken.","description_kind":"plain"},"max_items":1},"cloud_config":{"nesting_mode":"list","block":{"attributes":{"network":{"type":"string","description_kind":"plain","optional":true},"project":{"type":"string","description_kind":"plain","required":true},"region":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1},"cluster_profile":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The ID of the cluster profile.","description_kind":"plain","required":true}},"block_types":{"pack":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile. ","description_kind":"plain","required":true},"registry_uid":{"type":"string","description":"The registry UID of the pack. The registry UID is the unique identifier of the registry. This attribute is required if there is more than one registry that contains a pack with the same name. ","description_kind":"plain","optional":true},"tag":{"type":"string","description":"The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. ","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`.","description_kind":"plain","optional":true},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the [`spectrocloud_pack`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) data source. This value is required if the pack type is `spectro` and for `helm` if the chart is from a public helm registry.","description_kind":"plain","optional":true,"computed":true},"values":{"type":"string","description":"The values of the pack. The values are the configuration values of the pack. The values are specified in YAML format. ","description_kind":"plain","optional":true}},"block_types":{"manifest":{"nesting_mode":"list","block":{"attributes":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest. ","description_kind":"plain","required":true},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack. ","description_kind":"plain","required":true},"uid":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}}},"description":"For packs of type `spectro`, `helm`, and `manifest`, at least one pack must be specified.","description_kind":"plain"}}},"description_kind":"plain"}},"cluster_rbac_binding":{"nesting_mode":"list","block":{"attributes":{"namespace":{"type":"string","description":"The Kubernetes namespace of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"role":{"type":["map","string"],"description":"The role of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`.","description_kind":"plain","required":true}},"block_types":{"subjects":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the subject. Required if 'type' is set to 'User' or 'Group'.","description_kind":"plain","required":true},"namespace":{"type":"string","description":"The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description":"The RBAC binding for the cluster.","description_kind":"plain"}},"host_config":{"nesting_mode":"list","block":{"attributes":{"external_traffic_policy":{"type":"string","description":"The external traffic policy for the cluster.","description_kind":"plain","optional":true},"host_endpoint_type":{"type":"string","description":"The type of endpoint for the cluster. Can be either 'Ingress' or 'LoadBalancer'. The default is 'Ingress'.","description_kind":"plain","optional":true},"ingress_host":{"type":"string","description":"The host for the Ingress endpoint. Required if 'host_endpoint_type' is set to 'Ingress'.","description_kind":"plain","optional":true},"load_balancer_source_ranges":{"type":"string","description":"The source ranges for the load balancer. Required if 'host_endpoint_type' is set to 'LoadBalancer'.","description_kind":"plain","optional":true}},"description":"The host configuration for the cluster.","description_kind":"plain"}},"machine_pool":{"nesting_mode":"set","block":{"attributes":{"additional_labels":{"type":["map","string"],"description_kind":"plain","optional":true},"azs":{"type":["set","string"],"description_kind":"plain","required":true},"control_plane":{"type":"bool","description":"Whether this machine pool is a control plane. Defaults to `false`.","description_kind":"plain","optional":true},"control_plane_as_worker":{"type":"bool","description":"Whether this machine pool is a control plane and a worker. Defaults to `false`.","description_kind":"plain","optional":true},"count":{"type":"number","description":"Number of nodes in the machine pool.","description_kind":"plain","required":true},"disk_size_gb":{"type":"number","description_kind":"plain","optional":true},"instance_type":{"type":"string","description_kind":"plain","required":true},"name":{"type":"string","description_kind":"plain","required":true},"node_repave_interval":{"type":"number","description":"Minimum number of seconds node should be Ready, before the next node is selected for repave. Default value is `0`, Applicable only for worker pools.","description_kind":"plain","optional":true},"update_strategy":{"type":"string","description":"Update strategy for the machine pool. Valid values are `RollingUpdateScaleOut` and `RollingUpdateScaleIn`.","description_kind":"plain","optional":true}},"block_types":{"node":{"nesting_mode":"list","block":{"attributes":{"action":{"type":"string","description":"The action to perform on the node. Valid values are: `cordon`, `uncordon`.","description_kind":"plain","required":true},"node_id":{"type":"string","description":"The node_id of the node, For example `i-07f899a33dee624f7`","description_kind":"plain","required":true}},"description_kind":"plain"}},"taints":{"nesting_mode":"list","block":{"attributes":{"effect":{"type":"string","description":"The effect of the taint. Allowed values are: `NoSchedule`, `PreferNoSchedule` or `NoExecute`.","description_kind":"plain","required":true},"key":{"type":"string","description":"The key of the taint.","description_kind":"plain","required":true},"value":{"type":"string","description":"The value of the taint.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description_kind":"plain"},"min_items":1},"namespaces":{"nesting_mode":"list","block":{"attributes":{"images_blacklist":{"type":["list","string"],"description":"List of images to disallow for the namespace. For example, `['nginx:latest', 'redis:latest']`","description_kind":"plain","optional":true},"name":{"type":"string","description":"Name of the namespace. This is the name of the Kubernetes namespace in the cluster.","description_kind":"plain","required":true},"resource_allocation":{"type":["map","string"],"description":"Resource allocation for the namespace. This is a map containing the resource type and the resource value. For example, `{cpu_cores: '2', memory_MiB: '2048'}`","description_kind":"plain","required":true}},"description":"The namespaces for the cluster.","description_kind":"plain"}},"scan_policy":{"nesting_mode":"list","block":{"attributes":{"configuration_scan_schedule":{"type":"string","description":"The schedule for configuration scan.","description_kind":"plain","required":true},"conformance_scan_schedule":{"type":"string","description":"The schedule for conformance scan.","description_kind":"plain","required":true},"penetration_scan_schedule":{"type":"string","description":"The schedule for penetration scan.","description_kind":"plain","required":true}},"description":"The scan policy for the cluster.","description_kind":"plain"},"max_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":"Resource for managing GCP clusters in Spectro Cloud through Palette.","description_kind":"plain"}},"spectrocloud_cluster_gke":{"version":1,"block":{"attributes":{"admin_kube_config":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using `kubectl`, With admin privilege.","description_kind":"plain","computed":true},"apply_setting":{"type":"string","description":"The setting to apply the cluster profile. `DownloadAndInstall` will download and install packs in one action. `DownloadAndInstallLater` will only download artifact and postpone install for later. Default value is `DownloadAndInstall`.","description_kind":"plain","optional":true},"cloud_account_id":{"type":"string","description_kind":"plain","required":true},"cloud_config_id":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type `azure`.","description_kind":"plain","deprecated":true,"computed":true},"cluster_meta_attribute":{"type":"string","description":"`cluster_meta_attribute` can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`","description_kind":"plain","optional":true},"context":{"type":"string","description":"The context of the GKE cluster. Allowed values are `project` or `tenant`. Default is `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.","description_kind":"plain","optional":true},"force_delete":{"type":"bool","description":"If set to `true`, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.","description_kind":"plain","optional":true},"force_delete_delay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using `kubectl`.","description_kind":"plain","computed":true},"location_config":{"type":["list",["object",{"country_code":"string","country_name":"string","latitude":"number","longitude":"number","region_code":"string","region_name":"string"}]],"description":"The location of the cluster.","description_kind":"plain","computed":true},"name":{"type":"string","description":"The name of the cluster.","description_kind":"plain","required":true},"os_patch_after":{"type":"string","description":"Date and time after which to patch cluster `RFC3339: 2006-01-02T15:04:05Z07:00`","description_kind":"plain","optional":true},"os_patch_on_boot":{"type":"bool","description":"Whether to apply OS patch on boot. Default is `false`.","description_kind":"plain","optional":true},"os_patch_schedule":{"type":"string","description":"Cron schedule for OS patching. This must be in the form of `0 0 * * *`.","description_kind":"plain","optional":true},"pause_agent_upgrades":{"type":"string","description":"The pause agent upgrades setting allows to control the automatic upgrade of the Palette component and agent for an individual cluster. The default value is `unlock`, meaning upgrades occur automatically. Setting it to `lock` pauses automatic agent upgrades for the cluster.","description_kind":"plain","optional":true},"review_repave_state":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.","description_kind":"plain","optional":true},"skip_completion":{"type":"bool","description":"If `true`, the cluster will be created asynchronously. Default value is `false`.","description_kind":"plain","optional":true},"tags":{"type":["set","string"],"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.","description_kind":"plain","optional":true},"update_worker_pool_in_parallel":{"type":"bool","description_kind":"plain","optional":true}},"block_types":{"backup_policy":{"nesting_mode":"list","block":{"attributes":{"backup_location_id":{"type":"string","description":"The ID of the backup location to use for the backup.","description_kind":"plain","required":true},"cluster_uids":{"type":["set","string"],"description":"The list of cluster UIDs to include in the backup. If `include_all_clusters` is set to `true`, then all clusters will be included.","description_kind":"plain","optional":true},"expiry_in_hour":{"type":"number","description":"The number of hours after which the backup will be deleted. For example, if the expiry is set to 24, the backup will be deleted after 24 hours.","description_kind":"plain","required":true},"include_all_clusters":{"type":"bool","description":"Whether to include all clusters in the backup. If set to false, only the clusters specified in `cluster_uids` will be included.","description_kind":"plain","optional":true},"include_cluster_resources":{"type":"bool","description":"Whether to include the cluster resources in the backup. If set to false, only the cluster configuration and disks will be backed up.","description_kind":"plain","optional":true},"include_disks":{"type":"bool","description":"Whether to include the disks in the backup. If set to false, only the cluster configuration will be backed up.","description_kind":"plain","optional":true},"namespaces":{"type":["set","string"],"description":"The list of Kubernetes namespaces to include in the backup. If not specified, all namespaces will be included.","description_kind":"plain","optional":true},"prefix":{"type":"string","description":"Prefix for the backup name. The backup name will be of the format \u003cprefix\u003e-\u003ccluster-name\u003e-\u003ctimestamp\u003e.","description_kind":"plain","required":true},"schedule":{"type":"string","description":"The schedule for the backup. The schedule is specified in cron format. For example, to run the backup every day at 1:00 AM, the schedule should be set to `0 1 * * *`.","description_kind":"plain","required":true}},"description":"The backup policy for the cluster. If not specified, no backups will be taken.","description_kind":"plain"},"max_items":1},"cloud_config":{"nesting_mode":"list","block":{"attributes":{"project":{"type":"string","description":"GCP project name.","description_kind":"plain","required":true},"region":{"type":"string","description_kind":"plain","required":true}},"description":"The GKE environment configuration settings such as project parameters and region parameters that apply to this cluster.","description_kind":"plain"},"min_items":1,"max_items":1},"cluster_profile":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The ID of the cluster profile.","description_kind":"plain","required":true}},"block_types":{"pack":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile. ","description_kind":"plain","required":true},"registry_uid":{"type":"string","description":"The registry UID of the pack. The registry UID is the unique identifier of the registry. This attribute is required if there is more than one registry that contains a pack with the same name. ","description_kind":"plain","optional":true},"tag":{"type":"string","description":"The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. ","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`.","description_kind":"plain","optional":true},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the [`spectrocloud_pack`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) data source. This value is required if the pack type is `spectro` and for `helm` if the chart is from a public helm registry.","description_kind":"plain","optional":true,"computed":true},"values":{"type":"string","description":"The values of the pack. The values are the configuration values of the pack. The values are specified in YAML format. ","description_kind":"plain","optional":true}},"block_types":{"manifest":{"nesting_mode":"list","block":{"attributes":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest. ","description_kind":"plain","required":true},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack. ","description_kind":"plain","required":true},"uid":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}}},"description":"For packs of type `spectro`, `helm`, and `manifest`, at least one pack must be specified.","description_kind":"plain"}}},"description_kind":"plain"}},"cluster_rbac_binding":{"nesting_mode":"list","block":{"attributes":{"namespace":{"type":"string","description":"The Kubernetes namespace of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"role":{"type":["map","string"],"description":"The role of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`.","description_kind":"plain","required":true}},"block_types":{"subjects":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the subject. Required if 'type' is set to 'User' or 'Group'.","description_kind":"plain","required":true},"namespace":{"type":"string","description":"The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description":"The RBAC binding for the cluster.","description_kind":"plain"}},"host_config":{"nesting_mode":"list","block":{"attributes":{"external_traffic_policy":{"type":"string","description":"The external traffic policy for the cluster.","description_kind":"plain","optional":true},"host_endpoint_type":{"type":"string","description":"The type of endpoint for the cluster. Can be either 'Ingress' or 'LoadBalancer'. The default is 'Ingress'.","description_kind":"plain","optional":true},"ingress_host":{"type":"string","description":"The host for the Ingress endpoint. Required if 'host_endpoint_type' is set to 'Ingress'.","description_kind":"plain","optional":true},"load_balancer_source_ranges":{"type":"string","description":"The source ranges for the load balancer. Required if 'host_endpoint_type' is set to 'LoadBalancer'.","description_kind":"plain","optional":true}},"description":"The host configuration for the cluster.","description_kind":"plain"}},"machine_pool":{"nesting_mode":"list","block":{"attributes":{"additional_labels":{"type":["map","string"],"description_kind":"plain","optional":true},"count":{"type":"number","description":"Number of nodes in the machine pool.","description_kind":"plain","required":true},"disk_size_gb":{"type":"number","description_kind":"plain","optional":true},"instance_type":{"type":"string","description_kind":"plain","required":true},"name":{"type":"string","description_kind":"plain","required":true},"update_strategy":{"type":"string","description":"Update strategy for the machine pool. Valid values are `RollingUpdateScaleOut` and `RollingUpdateScaleIn`.","description_kind":"plain","optional":true}},"block_types":{"node":{"nesting_mode":"list","block":{"attributes":{"action":{"type":"string","description":"The action to perform on the node. Valid values are: `cordon`, `uncordon`.","description_kind":"plain","required":true},"node_id":{"type":"string","description":"The node_id of the node, For example `i-07f899a33dee624f7`","description_kind":"plain","required":true}},"description_kind":"plain"}},"taints":{"nesting_mode":"list","block":{"attributes":{"effect":{"type":"string","description":"The effect of the taint. Allowed values are: `NoSchedule`, `PreferNoSchedule` or `NoExecute`.","description_kind":"plain","required":true},"key":{"type":"string","description":"The key of the taint.","description_kind":"plain","required":true},"value":{"type":"string","description":"The value of the taint.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description":"The machine pool configuration for the cluster.","description_kind":"plain"},"min_items":1},"namespaces":{"nesting_mode":"list","block":{"attributes":{"images_blacklist":{"type":["list","string"],"description":"List of images to disallow for the namespace. For example, `['nginx:latest', 'redis:latest']`","description_kind":"plain","optional":true},"name":{"type":"string","description":"Name of the namespace. This is the name of the Kubernetes namespace in the cluster.","description_kind":"plain","required":true},"resource_allocation":{"type":["map","string"],"description":"Resource allocation for the namespace. This is a map containing the resource type and the resource value. For example, `{cpu_cores: '2', memory_MiB: '2048'}`","description_kind":"plain","required":true}},"description":"The namespaces for the cluster.","description_kind":"plain"}},"scan_policy":{"nesting_mode":"list","block":{"attributes":{"configuration_scan_schedule":{"type":"string","description":"The schedule for configuration scan.","description_kind":"plain","required":true},"conformance_scan_schedule":{"type":"string","description":"The schedule for conformance scan.","description_kind":"plain","required":true},"penetration_scan_schedule":{"type":"string","description":"The schedule for penetration scan.","description_kind":"plain","required":true}},"description":"The scan policy for the cluster.","description_kind":"plain"},"max_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":"Resource for managing GKE clusters through Palette.","description_kind":"plain"}},"spectrocloud_cluster_group":{"version":2,"block":{"attributes":{"context":{"type":"string","description":"The context of the Cluster group. Allowed values are `project` or `tenant`. Defaults to `tenant`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the cluster group","description_kind":"plain","required":true},"tags":{"type":["set","string"],"description":"A list of tags to be applied to the cluster group. Tags must be in the form of `key:value`.","description_kind":"plain","optional":true}},"block_types":{"cluster_profile":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The ID of the cluster profile.","description_kind":"plain","required":true}},"block_types":{"pack":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile. ","description_kind":"plain","required":true},"registry_uid":{"type":"string","description":"The registry UID of the pack. The registry UID is the unique identifier of the registry. This attribute is required if there is more than one registry that contains a pack with the same name. ","description_kind":"plain","optional":true},"tag":{"type":"string","description":"The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. ","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`.","description_kind":"plain","optional":true},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the [`spectrocloud_pack`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) data source. This value is required if the pack type is `spectro` and for `helm` if the chart is from a public helm registry.","description_kind":"plain","optional":true,"computed":true},"values":{"type":"string","description":"The values of the pack. The values are the configuration values of the pack. The values are specified in YAML format. ","description_kind":"plain","optional":true}},"block_types":{"manifest":{"nesting_mode":"list","block":{"attributes":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest. ","description_kind":"plain","required":true},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack. ","description_kind":"plain","required":true},"uid":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}}},"description":"For packs of type `spectro`, `helm`, and `manifest`, at least one pack must be specified.","description_kind":"plain"}}},"description_kind":"plain"}},"clusters":{"nesting_mode":"list","block":{"attributes":{"cluster_uid":{"type":"string","description":"The UID of the host cluster.","description_kind":"plain","required":true},"host_dns":{"type":"string","description":"The host DNS wildcard for the cluster. i.e. `*.dev` or `*test.com`","description_kind":"plain","optional":true}},"description":"A list of clusters to include in the cluster group.","description_kind":"plain"}},"config":{"nesting_mode":"list","block":{"attributes":{"cpu_millicore":{"type":"number","description":"The CPU limit in millicores.","description_kind":"plain","optional":true},"host_endpoint_type":{"type":"string","description":"The host endpoint type. Allowed values are 'Ingress' or 'LoadBalancer'. Defaults to 'Ingress'.","description_kind":"plain","optional":true},"k8s_distribution":{"type":"string","description":"The Kubernetes distribution, allowed values are `k3s` and `cncf_k8s`.","description_kind":"plain","optional":true},"memory_in_mb":{"type":"number","description":"The memory limit in megabytes (MB).","description_kind":"plain","optional":true},"oversubscription_percent":{"type":"number","description":"The allowed oversubscription percentage.","description_kind":"plain","optional":true},"storage_in_gb":{"type":"number","description":"The storage limit in gigabytes (GB).","description_kind":"plain","optional":true},"values":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"},"min_items":1,"max_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"}},"spectrocloud_cluster_import":{"version":2,"block":{"attributes":{"cloud":{"type":"string","description_kind":"plain","required":true},"cloud_config_id":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type `azure`.","description_kind":"plain","deprecated":true,"computed":true},"cluster_import_manifest":{"type":"string","description_kind":"plain","computed":true},"cluster_import_manifest_apply_command":{"type":"string","description_kind":"plain","computed":true},"context":{"type":"string","description":"The context of the cluster. Can be `project` or `tenant`. Default is `project`.If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true},"tags":{"type":["set","string"],"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.","description_kind":"plain","optional":true}},"block_types":{"cluster_profile":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The ID of the cluster profile.","description_kind":"plain","required":true}},"block_types":{"pack":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile. ","description_kind":"plain","required":true},"registry_uid":{"type":"string","description":"The registry UID of the pack. The registry UID is the unique identifier of the registry. This attribute is required if there is more than one registry that contains a pack with the same name. ","description_kind":"plain","optional":true},"tag":{"type":"string","description":"The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. ","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`.","description_kind":"plain","optional":true},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the [`spectrocloud_pack`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) data source. This value is required if the pack type is `spectro` and for `helm` if the chart is from a public helm registry.","description_kind":"plain","optional":true,"computed":true},"values":{"type":"string","description":"The values of the pack. The values are the configuration values of the pack. The values are specified in YAML format. ","description_kind":"plain","optional":true}},"block_types":{"manifest":{"nesting_mode":"list","block":{"attributes":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest. ","description_kind":"plain","required":true},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack. ","description_kind":"plain","required":true},"uid":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}}},"description":"For packs of type `spectro`, `helm`, and `manifest`, at least one pack must be specified.","description_kind":"plain"}}},"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"}},"spectrocloud_cluster_libvirt":{"version":2,"block":{"attributes":{"admin_kube_config":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using `kubectl`, With admin privilege.","description_kind":"plain","computed":true},"apply_setting":{"type":"string","description":"The setting to apply the cluster profile. `DownloadAndInstall` will download and install packs in one action. `DownloadAndInstallLater` will only download artifact and postpone install for later. Default value is `DownloadAndInstall`.","description_kind":"plain","optional":true},"cloud_account_id":{"type":"string","description_kind":"plain","optional":true},"cloud_config_id":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type `azure`.","description_kind":"plain","deprecated":true,"computed":true},"cluster_meta_attribute":{"type":"string","description":"`cluster_meta_attribute` can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`","description_kind":"plain","optional":true},"context":{"type":"string","description":"The context of the Libvirt cluster. Allowed values are `project` or `tenant`. Default is `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.","description_kind":"plain","optional":true},"force_delete":{"type":"bool","description":"If set to `true`, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.","description_kind":"plain","optional":true},"force_delete_delay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using `kubectl`.","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true},"os_patch_after":{"type":"string","description":"Date and time after which to patch cluster `RFC3339: 2006-01-02T15:04:05Z07:00`","description_kind":"plain","optional":true},"os_patch_on_boot":{"type":"bool","description":"Whether to apply OS patch on boot. Default is `false`.","description_kind":"plain","optional":true},"os_patch_schedule":{"type":"string","description":"Cron schedule for OS patching. This must be in the form of `0 0 * * *`.","description_kind":"plain","optional":true},"pause_agent_upgrades":{"type":"string","description":"The pause agent upgrades setting allows to control the automatic upgrade of the Palette component and agent for an individual cluster. The default value is `unlock`, meaning upgrades occur automatically. Setting it to `lock` pauses automatic agent upgrades for the cluster.","description_kind":"plain","optional":true},"review_repave_state":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.","description_kind":"plain","optional":true},"skip_completion":{"type":"bool","description":"If `true`, the cluster will be created asynchronously. Default value is `false`.","description_kind":"plain","optional":true},"tags":{"type":["set","string"],"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.","description_kind":"plain","optional":true}},"block_types":{"backup_policy":{"nesting_mode":"list","block":{"attributes":{"backup_location_id":{"type":"string","description":"The ID of the backup location to use for the backup.","description_kind":"plain","required":true},"cluster_uids":{"type":["set","string"],"description":"The list of cluster UIDs to include in the backup. If `include_all_clusters` is set to `true`, then all clusters will be included.","description_kind":"plain","optional":true},"expiry_in_hour":{"type":"number","description":"The number of hours after which the backup will be deleted. For example, if the expiry is set to 24, the backup will be deleted after 24 hours.","description_kind":"plain","required":true},"include_all_clusters":{"type":"bool","description":"Whether to include all clusters in the backup. If set to false, only the clusters specified in `cluster_uids` will be included.","description_kind":"plain","optional":true},"include_cluster_resources":{"type":"bool","description":"Whether to include the cluster resources in the backup. If set to false, only the cluster configuration and disks will be backed up.","description_kind":"plain","optional":true},"include_disks":{"type":"bool","description":"Whether to include the disks in the backup. If set to false, only the cluster configuration will be backed up.","description_kind":"plain","optional":true},"namespaces":{"type":["set","string"],"description":"The list of Kubernetes namespaces to include in the backup. If not specified, all namespaces will be included.","description_kind":"plain","optional":true},"prefix":{"type":"string","description":"Prefix for the backup name. The backup name will be of the format \u003cprefix\u003e-\u003ccluster-name\u003e-\u003ctimestamp\u003e.","description_kind":"plain","required":true},"schedule":{"type":"string","description":"The schedule for the backup. The schedule is specified in cron format. For example, to run the backup every day at 1:00 AM, the schedule should be set to `0 1 * * *`.","description_kind":"plain","required":true}},"description":"The backup policy for the cluster. If not specified, no backups will be taken.","description_kind":"plain"},"max_items":1},"cloud_config":{"nesting_mode":"list","block":{"attributes":{"network_search_domain":{"type":"string","description":"The search domain to use for the cluster in case of DHCP.","description_kind":"plain","optional":true},"network_type":{"type":"string","description":"The type of network to use for the cluster. This can be `VIP` or `DDNS`.","description_kind":"plain","optional":true},"ntp_servers":{"type":["set","string"],"description_kind":"plain","optional":true},"ssh_keys":{"type":["set","string"],"description":"List of public SSH (Secure Shell) to establish, administer, and communicate with remote clusters.","description_kind":"plain","optional":true},"vip":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1},"cluster_profile":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The ID of the cluster profile.","description_kind":"plain","required":true}},"block_types":{"pack":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile. ","description_kind":"plain","required":true},"registry_uid":{"type":"string","description":"The registry UID of the pack. The registry UID is the unique identifier of the registry. This attribute is required if there is more than one registry that contains a pack with the same name. ","description_kind":"plain","optional":true},"tag":{"type":"string","description":"The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. ","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`.","description_kind":"plain","optional":true},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the [`spectrocloud_pack`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) data source. This value is required if the pack type is `spectro` and for `helm` if the chart is from a public helm registry.","description_kind":"plain","optional":true,"computed":true},"values":{"type":"string","description":"The values of the pack. The values are the configuration values of the pack. The values are specified in YAML format. ","description_kind":"plain","optional":true}},"block_types":{"manifest":{"nesting_mode":"list","block":{"attributes":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest. ","description_kind":"plain","required":true},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack. ","description_kind":"plain","required":true},"uid":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}}},"description":"For packs of type `spectro`, `helm`, and `manifest`, at least one pack must be specified.","description_kind":"plain"}}},"description_kind":"plain"}},"cluster_rbac_binding":{"nesting_mode":"list","block":{"attributes":{"namespace":{"type":"string","description":"The Kubernetes namespace of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"role":{"type":["map","string"],"description":"The role of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`.","description_kind":"plain","required":true}},"block_types":{"subjects":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the subject. Required if 'type' is set to 'User' or 'Group'.","description_kind":"plain","required":true},"namespace":{"type":"string","description":"The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description":"The RBAC binding for the cluster.","description_kind":"plain"}},"host_config":{"nesting_mode":"list","block":{"attributes":{"external_traffic_policy":{"type":"string","description":"The external traffic policy for the cluster.","description_kind":"plain","optional":true},"host_endpoint_type":{"type":"string","description":"The type of endpoint for the cluster. Can be either 'Ingress' or 'LoadBalancer'. The default is 'Ingress'.","description_kind":"plain","optional":true},"ingress_host":{"type":"string","description":"The host for the Ingress endpoint. Required if 'host_endpoint_type' is set to 'Ingress'.","description_kind":"plain","optional":true},"load_balancer_source_ranges":{"type":"string","description":"The source ranges for the load balancer. Required if 'host_endpoint_type' is set to 'LoadBalancer'.","description_kind":"plain","optional":true}},"description":"The host configuration for the cluster.","description_kind":"plain"}},"location_config":{"nesting_mode":"list","block":{"attributes":{"country_code":{"type":"string","description":"The country code of the country the cluster is located in.","description_kind":"plain","optional":true},"country_name":{"type":"string","description":"The name of the country.","description_kind":"plain","optional":true},"latitude":{"type":"number","description":"The latitude coordinates value.","description_kind":"plain","required":true},"longitude":{"type":"number","description":"The longitude coordinates value.","description_kind":"plain","required":true},"region_code":{"type":"string","description":"The region code of where the cluster is located in.","description_kind":"plain","optional":true},"region_name":{"type":"string","description":"The name of the region.","description_kind":"plain","optional":true}},"description_kind":"plain"}},"machine_pool":{"nesting_mode":"list","block":{"attributes":{"additional_labels":{"type":["map","string"],"description_kind":"plain","optional":true},"control_plane":{"type":"bool","description":"Whether this machine pool is a control plane. Defaults to `false`.","description_kind":"plain","optional":true},"control_plane_as_worker":{"type":"bool","description":"Whether this machine pool is a control plane and a worker. Defaults to `false`.","description_kind":"plain","optional":true},"count":{"type":"number","description":"Number of nodes in the machine pool.","description_kind":"plain","required":true},"name":{"type":"string","description_kind":"plain","required":true},"node_repave_interval":{"type":"number","description":"Minimum number of seconds node should be Ready, before the next node is selected for repave. Default value is `0`, Applicable only for worker pools.","description_kind":"plain","optional":true},"update_strategy":{"type":"string","description":"Update strategy for the machine pool. Valid values are `RollingUpdateScaleOut` and `RollingUpdateScaleIn`.","description_kind":"plain","optional":true},"xsl_template":{"type":"string","description":"XSL template to use.","description_kind":"plain","optional":true}},"block_types":{"instance_type":{"nesting_mode":"list","block":{"attributes":{"cache_passthrough":{"type":"bool","description_kind":"plain","optional":true},"cpu":{"type":"number","description_kind":"plain","required":true},"cpus_sets":{"type":"string","description_kind":"plain","optional":true},"disk_size_gb":{"type":"number","description_kind":"plain","required":true},"memory_mb":{"type":"number","description_kind":"plain","required":true}},"block_types":{"attached_disks":{"nesting_mode":"list","block":{"attributes":{"managed":{"type":"bool","description_kind":"plain","optional":true},"size_in_gb":{"type":"number","description_kind":"plain","required":true}},"description_kind":"plain"}},"gpu_config":{"nesting_mode":"list","block":{"attributes":{"addresses":{"type":["map","string"],"description_kind":"plain","optional":true},"device_model":{"type":"string","description_kind":"plain","required":true},"num_gpus":{"type":"number","description_kind":"plain","required":true},"vendor":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description_kind":"plain"},"min_items":1,"max_items":1},"node":{"nesting_mode":"list","block":{"attributes":{"action":{"type":"string","description":"The action to perform on the node. Valid values are: `cordon`, `uncordon`.","description_kind":"plain","required":true},"node_id":{"type":"string","description":"The node_id of the node, For example `i-07f899a33dee624f7`","description_kind":"plain","required":true}},"description_kind":"plain"}},"placements":{"nesting_mode":"list","block":{"attributes":{"appliance_id":{"type":"string","description_kind":"plain","required":true},"data_storage_pool":{"type":"string","description_kind":"plain","required":true},"image_storage_pool":{"type":"string","description_kind":"plain","required":true},"network":{"type":"string","description_kind":"plain","optional":true},"network_names":{"type":"string","description_kind":"plain","required":true},"network_type":{"type":"string","description_kind":"plain","required":true},"target_storage_pool":{"type":"string","description_kind":"plain","required":true}},"block_types":{"gpu_device":{"nesting_mode":"list","block":{"attributes":{"addresses":{"type":["map","string"],"description":"Addresses is a map of PCI device entry name to its addresses.","description_kind":"plain","optional":true},"device_model":{"type":"string","description":"DeviceModel `device_model` is the model of GPU, for a given vendor, for eg., TU104GL [Tesla T4]","description_kind":"plain","required":true},"vendor":{"type":"string","description":"Vendor `vendor` is the GPU vendor, for eg., NVIDIA or AMD","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description_kind":"plain"},"min_items":1},"taints":{"nesting_mode":"list","block":{"attributes":{"effect":{"type":"string","description":"The effect of the taint. Allowed values are: `NoSchedule`, `PreferNoSchedule` or `NoExecute`.","description_kind":"plain","required":true},"key":{"type":"string","description":"The key of the taint.","description_kind":"plain","required":true},"value":{"type":"string","description":"The value of the taint.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description_kind":"plain"},"min_items":1},"namespaces":{"nesting_mode":"list","block":{"attributes":{"images_blacklist":{"type":["list","string"],"description":"List of images to disallow for the namespace. For example, `['nginx:latest', 'redis:latest']`","description_kind":"plain","optional":true},"name":{"type":"string","description":"Name of the namespace. This is the name of the Kubernetes namespace in the cluster.","description_kind":"plain","required":true},"resource_allocation":{"type":["map","string"],"description":"Resource allocation for the namespace. This is a map containing the resource type and the resource value. For example, `{cpu_cores: '2', memory_MiB: '2048'}`","description_kind":"plain","required":true}},"description":"The namespaces for the cluster.","description_kind":"plain"}},"scan_policy":{"nesting_mode":"list","block":{"attributes":{"configuration_scan_schedule":{"type":"string","description":"The schedule for configuration scan.","description_kind":"plain","required":true},"conformance_scan_schedule":{"type":"string","description":"The schedule for conformance scan.","description_kind":"plain","required":true},"penetration_scan_schedule":{"type":"string","description":"The schedule for penetration scan.","description_kind":"plain","required":true}},"description":"The scan policy for the cluster.","description_kind":"plain"},"max_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":"Resource for managing Libvirt clusters in Spectro Cloud through Palette.","description_kind":"plain"}},"spectrocloud_cluster_maas":{"version":2,"block":{"attributes":{"admin_kube_config":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using `kubectl`, With admin privilege.","description_kind":"plain","computed":true},"apply_setting":{"type":"string","description":"The setting to apply the cluster profile. `DownloadAndInstall` will download and install packs in one action. `DownloadAndInstallLater` will only download artifact and postpone install for later. Default value is `DownloadAndInstall`.","description_kind":"plain","optional":true},"cloud_account_id":{"type":"string","description":"ID of the Maas cloud account used for the cluster. This cloud account must be of type `maas`.","description_kind":"plain","optional":true},"cloud_config_id":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type `maas`.","description_kind":"plain","deprecated":true,"computed":true},"cluster_meta_attribute":{"type":"string","description":"`cluster_meta_attribute` can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`","description_kind":"plain","optional":true},"context":{"type":"string","description":"The context of the MAAS configuration. Allowed values are `project` or `tenant`. Default is `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.","description_kind":"plain","optional":true},"force_delete":{"type":"bool","description":"If set to `true`, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.","description_kind":"plain","optional":true},"force_delete_delay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using `kubectl`.","description_kind":"plain","computed":true},"name":{"type":"string","description":"The name of the cluster.","description_kind":"plain","required":true},"os_patch_after":{"type":"string","description":"The date and time after which to patch the cluster. Prefix the time value with the respective RFC. Ex: `RFC3339: 2006-01-02T15:04:05Z07:00`","description_kind":"plain","optional":true},"os_patch_on_boot":{"type":"bool","description":"Whether to apply OS patch on boot. Default is `false`.","description_kind":"plain","optional":true},"os_patch_schedule":{"type":"string","description":"Cron schedule for OS patching. This must be in the form of `0 0 * * *`.","description_kind":"plain","optional":true},"pause_agent_upgrades":{"type":"string","description":"The pause agent upgrades setting allows to control the automatic upgrade of the Palette component and agent for an individual cluster. The default value is `unlock`, meaning upgrades occur automatically. Setting it to `lock` pauses automatic agent upgrades for the cluster.","description_kind":"plain","optional":true},"review_repave_state":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.","description_kind":"plain","optional":true},"skip_completion":{"type":"bool","description":"If `true`, the cluster will be created asynchronously. Default value is `false`.","description_kind":"plain","optional":true},"tags":{"type":["set","string"],"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.","description_kind":"plain","optional":true}},"block_types":{"backup_policy":{"nesting_mode":"list","block":{"attributes":{"backup_location_id":{"type":"string","description":"The ID of the backup location to use for the backup.","description_kind":"plain","required":true},"cluster_uids":{"type":["set","string"],"description":"The list of cluster UIDs to include in the backup. If `include_all_clusters` is set to `true`, then all clusters will be included.","description_kind":"plain","optional":true},"expiry_in_hour":{"type":"number","description":"The number of hours after which the backup will be deleted. For example, if the expiry is set to 24, the backup will be deleted after 24 hours.","description_kind":"plain","required":true},"include_all_clusters":{"type":"bool","description":"Whether to include all clusters in the backup. If set to false, only the clusters specified in `cluster_uids` will be included.","description_kind":"plain","optional":true},"include_cluster_resources":{"type":"bool","description":"Whether to include the cluster resources in the backup. If set to false, only the cluster configuration and disks will be backed up.","description_kind":"plain","optional":true},"include_disks":{"type":"bool","description":"Whether to include the disks in the backup. If set to false, only the cluster configuration will be backed up.","description_kind":"plain","optional":true},"namespaces":{"type":["set","string"],"description":"The list of Kubernetes namespaces to include in the backup. If not specified, all namespaces will be included.","description_kind":"plain","optional":true},"prefix":{"type":"string","description":"Prefix for the backup name. The backup name will be of the format \u003cprefix\u003e-\u003ccluster-name\u003e-\u003ctimestamp\u003e.","description_kind":"plain","required":true},"schedule":{"type":"string","description":"The schedule for the backup. The schedule is specified in cron format. For example, to run the backup every day at 1:00 AM, the schedule should be set to `0 1 * * *`.","description_kind":"plain","required":true}},"description":"The backup policy for the cluster. If not specified, no backups will be taken.","description_kind":"plain"},"max_items":1},"cloud_config":{"nesting_mode":"list","block":{"attributes":{"domain":{"type":"string","description":"Domain name in which the cluster to be provisioned.","description_kind":"plain","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1},"cluster_profile":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The ID of the cluster profile.","description_kind":"plain","required":true}},"block_types":{"pack":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile. ","description_kind":"plain","required":true},"registry_uid":{"type":"string","description":"The registry UID of the pack. The registry UID is the unique identifier of the registry. This attribute is required if there is more than one registry that contains a pack with the same name. ","description_kind":"plain","optional":true},"tag":{"type":"string","description":"The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. ","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`.","description_kind":"plain","optional":true},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the [`spectrocloud_pack`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) data source. This value is required if the pack type is `spectro` and for `helm` if the chart is from a public helm registry.","description_kind":"plain","optional":true,"computed":true},"values":{"type":"string","description":"The values of the pack. The values are the configuration values of the pack. The values are specified in YAML format. ","description_kind":"plain","optional":true}},"block_types":{"manifest":{"nesting_mode":"list","block":{"attributes":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest. ","description_kind":"plain","required":true},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack. ","description_kind":"plain","required":true},"uid":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}}},"description":"For packs of type `spectro`, `helm`, and `manifest`, at least one pack must be specified.","description_kind":"plain"}}},"description_kind":"plain"}},"cluster_rbac_binding":{"nesting_mode":"list","block":{"attributes":{"namespace":{"type":"string","description":"The Kubernetes namespace of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"role":{"type":["map","string"],"description":"The role of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`.","description_kind":"plain","required":true}},"block_types":{"subjects":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the subject. Required if 'type' is set to 'User' or 'Group'.","description_kind":"plain","required":true},"namespace":{"type":"string","description":"The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description":"The RBAC binding for the cluster.","description_kind":"plain"}},"host_config":{"nesting_mode":"list","block":{"attributes":{"external_traffic_policy":{"type":"string","description":"The external traffic policy for the cluster.","description_kind":"plain","optional":true},"host_endpoint_type":{"type":"string","description":"The type of endpoint for the cluster. Can be either 'Ingress' or 'LoadBalancer'. The default is 'Ingress'.","description_kind":"plain","optional":true},"ingress_host":{"type":"string","description":"The host for the Ingress endpoint. Required if 'host_endpoint_type' is set to 'Ingress'.","description_kind":"plain","optional":true},"load_balancer_source_ranges":{"type":"string","description":"The source ranges for the load balancer. Required if 'host_endpoint_type' is set to 'LoadBalancer'.","description_kind":"plain","optional":true}},"description":"The host configuration for the cluster.","description_kind":"plain"}},"location_config":{"nesting_mode":"list","block":{"attributes":{"country_code":{"type":"string","description":"The country code of the country the cluster is located in.","description_kind":"plain","optional":true},"country_name":{"type":"string","description":"The name of the country.","description_kind":"plain","optional":true},"latitude":{"type":"number","description":"The latitude coordinates value.","description_kind":"plain","required":true},"longitude":{"type":"number","description":"The longitude coordinates value.","description_kind":"plain","required":true},"region_code":{"type":"string","description":"The region code of where the cluster is located in.","description_kind":"plain","optional":true},"region_name":{"type":"string","description":"The name of the region.","description_kind":"plain","optional":true}},"description_kind":"plain"}},"machine_pool":{"nesting_mode":"set","block":{"attributes":{"additional_labels":{"type":["map","string"],"description":"Additional labels to be applied to the machine pool. Labels must be in the form of `key:value`.","description_kind":"plain","optional":true},"azs":{"type":["set","string"],"description":"Availability zones in which the machine pool nodes to be provisioned.","description_kind":"plain","optional":true},"control_plane":{"type":"bool","description":"Whether this machine pool is a control plane. Defaults to `false`.","description_kind":"plain","optional":true},"control_plane_as_worker":{"type":"bool","description":"Whether this machine pool is a control plane and a worker. Defaults to `false`.","description_kind":"plain","optional":true},"count":{"type":"number","description":"Number of nodes in the machine pool.","description_kind":"plain","required":true},"max":{"type":"number","description":"Maximum number of nodes in the machine pool. This is used for autoscaling the machine pool.","description_kind":"plain","optional":true},"min":{"type":"number","description":"Minimum number of nodes in the machine pool. This is used for autoscaling the machine pool.","description_kind":"plain","optional":true},"name":{"type":"string","description":"Name of the machine pool.","description_kind":"plain","required":true},"node_repave_interval":{"type":"number","description":"Minimum number of seconds node should be Ready, before the next node is selected for repave. Default value is `0`, Applicable only for worker pools.","description_kind":"plain","optional":true},"node_tags":{"type":["set","string"],"description":"Node tags to dynamically place nodes in a pool by using MAAS automatic tags. Specify the tag values that you want to apply to all nodes in the node pool.","description_kind":"plain","optional":true},"update_strategy":{"type":"string","description":"Update strategy for the machine pool. Valid values are `RollingUpdateScaleOut` and `RollingUpdateScaleIn`.","description_kind":"plain","optional":true}},"block_types":{"instance_type":{"nesting_mode":"list","block":{"attributes":{"min_cpu":{"type":"number","description":"Minimum number of CPU required for the machine pool node.","description_kind":"plain","required":true},"min_memory_mb":{"type":"number","description":"Minimum memory in MB required for the machine pool node.","description_kind":"plain","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1},"node":{"nesting_mode":"list","block":{"attributes":{"action":{"type":"string","description":"The action to perform on the node. Valid values are: `cordon`, `uncordon`.","description_kind":"plain","required":true},"node_id":{"type":"string","description":"The node_id of the node, For example `i-07f899a33dee624f7`","description_kind":"plain","required":true}},"description_kind":"plain"}},"placement":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"This is a computed(read-only) ID of the placement that is used to connect to the Maas cloud.","description_kind":"plain","computed":true},"resource_pool":{"type":"string","description":"The name of the resource pool in the Maas cloud.","description_kind":"plain","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1},"taints":{"nesting_mode":"list","block":{"attributes":{"effect":{"type":"string","description":"The effect of the taint. Allowed values are: `NoSchedule`, `PreferNoSchedule` or `NoExecute`.","description_kind":"plain","required":true},"key":{"type":"string","description":"The key of the taint.","description_kind":"plain","required":true},"value":{"type":"string","description":"The value of the taint.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description_kind":"plain"},"min_items":1},"namespaces":{"nesting_mode":"list","block":{"attributes":{"images_blacklist":{"type":["list","string"],"description":"List of images to disallow for the namespace. For example, `['nginx:latest', 'redis:latest']`","description_kind":"plain","optional":true},"name":{"type":"string","description":"Name of the namespace. This is the name of the Kubernetes namespace in the cluster.","description_kind":"plain","required":true},"resource_allocation":{"type":["map","string"],"description":"Resource allocation for the namespace. This is a map containing the resource type and the resource value. For example, `{cpu_cores: '2', memory_MiB: '2048'}`","description_kind":"plain","required":true}},"description":"The namespaces for the cluster.","description_kind":"plain"}},"scan_policy":{"nesting_mode":"list","block":{"attributes":{"configuration_scan_schedule":{"type":"string","description":"The schedule for configuration scan.","description_kind":"plain","required":true},"conformance_scan_schedule":{"type":"string","description":"The schedule for conformance scan.","description_kind":"plain","required":true},"penetration_scan_schedule":{"type":"string","description":"The schedule for penetration scan.","description_kind":"plain","required":true}},"description":"The scan policy for the cluster.","description_kind":"plain"},"max_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":"Resource for managing MAAS clusters in Spectro Cloud through Palette.","description_kind":"plain"}},"spectrocloud_cluster_openstack":{"version":0,"block":{"attributes":{"admin_kube_config":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using `kubectl`, With admin privilege.","description_kind":"plain","computed":true},"apply_setting":{"type":"string","description":"The setting to apply the cluster profile. `DownloadAndInstall` will download and install packs in one action. `DownloadAndInstallLater` will only download artifact and postpone install for later. Default value is `DownloadAndInstall`.","description_kind":"plain","optional":true},"cloud_account_id":{"type":"string","description_kind":"plain","required":true},"cloud_config_id":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type `azure`.","description_kind":"plain","deprecated":true,"computed":true},"cluster_meta_attribute":{"type":"string","description":"`cluster_meta_attribute` can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`","description_kind":"plain","optional":true},"context":{"type":"string","description":"The context of the OpenStack cluster. Allowed values are `project` or `tenant`. Default is `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.","description_kind":"plain","optional":true},"force_delete":{"type":"bool","description":"If set to `true`, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.","description_kind":"plain","optional":true},"force_delete_delay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using `kubectl`.","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true},"os_patch_after":{"type":"string","description":"The date and time after which to patch the cluster. Prefix the time value with the respective RFC. Ex: `RFC3339: 2006-01-02T15:04:05Z07:00`","description_kind":"plain","optional":true},"os_patch_on_boot":{"type":"bool","description":"Whether to apply OS patch on boot. Default is `false`.","description_kind":"plain","optional":true},"os_patch_schedule":{"type":"string","description":"Cron schedule for OS patching. This must be in the form of `0 0 * * *`.","description_kind":"plain","optional":true},"pause_agent_upgrades":{"type":"string","description":"The pause agent upgrades setting allows to control the automatic upgrade of the Palette component and agent for an individual cluster. The default value is `unlock`, meaning upgrades occur automatically. Setting it to `lock` pauses automatic agent upgrades for the cluster.","description_kind":"plain","optional":true},"review_repave_state":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.","description_kind":"plain","optional":true},"skip_completion":{"type":"bool","description":"If `true`, the cluster will be created asynchronously. Default value is `false`.","description_kind":"plain","optional":true},"tags":{"type":["set","string"],"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.","description_kind":"plain","optional":true}},"block_types":{"backup_policy":{"nesting_mode":"list","block":{"attributes":{"backup_location_id":{"type":"string","description":"The ID of the backup location to use for the backup.","description_kind":"plain","required":true},"cluster_uids":{"type":["set","string"],"description":"The list of cluster UIDs to include in the backup. If `include_all_clusters` is set to `true`, then all clusters will be included.","description_kind":"plain","optional":true},"expiry_in_hour":{"type":"number","description":"The number of hours after which the backup will be deleted. For example, if the expiry is set to 24, the backup will be deleted after 24 hours.","description_kind":"plain","required":true},"include_all_clusters":{"type":"bool","description":"Whether to include all clusters in the backup. If set to false, only the clusters specified in `cluster_uids` will be included.","description_kind":"plain","optional":true},"include_cluster_resources":{"type":"bool","description":"Whether to include the cluster resources in the backup. If set to false, only the cluster configuration and disks will be backed up.","description_kind":"plain","optional":true},"include_disks":{"type":"bool","description":"Whether to include the disks in the backup. If set to false, only the cluster configuration will be backed up.","description_kind":"plain","optional":true},"namespaces":{"type":["set","string"],"description":"The list of Kubernetes namespaces to include in the backup. If not specified, all namespaces will be included.","description_kind":"plain","optional":true},"prefix":{"type":"string","description":"Prefix for the backup name. The backup name will be of the format \u003cprefix\u003e-\u003ccluster-name\u003e-\u003ctimestamp\u003e.","description_kind":"plain","required":true},"schedule":{"type":"string","description":"The schedule for the backup. The schedule is specified in cron format. For example, to run the backup every day at 1:00 AM, the schedule should be set to `0 1 * * *`.","description_kind":"plain","required":true}},"description":"The backup policy for the cluster. If not specified, no backups will be taken.","description_kind":"plain"},"max_items":1},"cloud_config":{"nesting_mode":"list","block":{"attributes":{"dns_servers":{"type":["set","string"],"description_kind":"plain","required":true},"domain":{"type":"string","description_kind":"plain","required":true},"network_id":{"type":"string","description_kind":"plain","optional":true},"project":{"type":"string","description_kind":"plain","required":true},"region":{"type":"string","description_kind":"plain","required":true},"ssh_key":{"type":"string","description":"Public SSH key to be used for the cluster nodes.","description_kind":"plain","required":true},"subnet_cidr":{"type":"string","description_kind":"plain","required":true},"subnet_id":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"},"min_items":1,"max_items":1},"cluster_profile":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The ID of the cluster profile.","description_kind":"plain","required":true}},"block_types":{"pack":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile. ","description_kind":"plain","required":true},"registry_uid":{"type":"string","description":"The registry UID of the pack. The registry UID is the unique identifier of the registry. This attribute is required if there is more than one registry that contains a pack with the same name. ","description_kind":"plain","optional":true},"tag":{"type":"string","description":"The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. ","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`.","description_kind":"plain","optional":true},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the [`spectrocloud_pack`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) data source. This value is required if the pack type is `spectro` and for `helm` if the chart is from a public helm registry.","description_kind":"plain","optional":true,"computed":true},"values":{"type":"string","description":"The values of the pack. The values are the configuration values of the pack. The values are specified in YAML format. ","description_kind":"plain","optional":true}},"block_types":{"manifest":{"nesting_mode":"list","block":{"attributes":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest. ","description_kind":"plain","required":true},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack. ","description_kind":"plain","required":true},"uid":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}}},"description":"For packs of type `spectro`, `helm`, and `manifest`, at least one pack must be specified.","description_kind":"plain"}}},"description_kind":"plain"}},"cluster_rbac_binding":{"nesting_mode":"list","block":{"attributes":{"namespace":{"type":"string","description":"The Kubernetes namespace of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"role":{"type":["map","string"],"description":"The role of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`.","description_kind":"plain","required":true}},"block_types":{"subjects":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the subject. Required if 'type' is set to 'User' or 'Group'.","description_kind":"plain","required":true},"namespace":{"type":"string","description":"The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description":"The RBAC binding for the cluster.","description_kind":"plain"}},"host_config":{"nesting_mode":"list","block":{"attributes":{"external_traffic_policy":{"type":"string","description":"The external traffic policy for the cluster.","description_kind":"plain","optional":true},"host_endpoint_type":{"type":"string","description":"The type of endpoint for the cluster. Can be either 'Ingress' or 'LoadBalancer'. The default is 'Ingress'.","description_kind":"plain","optional":true},"ingress_host":{"type":"string","description":"The host for the Ingress endpoint. Required if 'host_endpoint_type' is set to 'Ingress'.","description_kind":"plain","optional":true},"load_balancer_source_ranges":{"type":"string","description":"The source ranges for the load balancer. Required if 'host_endpoint_type' is set to 'LoadBalancer'.","description_kind":"plain","optional":true}},"description":"The host configuration for the cluster.","description_kind":"plain"}},"location_config":{"nesting_mode":"list","block":{"attributes":{"country_code":{"type":"string","description":"The country code of the country the cluster is located in.","description_kind":"plain","optional":true},"country_name":{"type":"string","description":"The name of the country.","description_kind":"plain","optional":true},"latitude":{"type":"number","description":"The latitude coordinates value.","description_kind":"plain","required":true},"longitude":{"type":"number","description":"The longitude coordinates value.","description_kind":"plain","required":true},"region_code":{"type":"string","description":"The region code of where the cluster is located in.","description_kind":"plain","optional":true},"region_name":{"type":"string","description":"The name of the region.","description_kind":"plain","optional":true}},"description_kind":"plain"}},"machine_pool":{"nesting_mode":"list","block":{"attributes":{"additional_labels":{"type":["map","string"],"description_kind":"plain","optional":true},"azs":{"type":["set","string"],"description_kind":"plain","optional":true},"control_plane":{"type":"bool","description":"Whether this machine pool is a control plane. Defaults to `false`.","description_kind":"plain","optional":true},"control_plane_as_worker":{"type":"bool","description":"Whether this machine pool is a control plane and a worker. Defaults to `false`.","description_kind":"plain","optional":true},"count":{"type":"number","description":"Number of nodes in the machine pool.","description_kind":"plain","required":true},"instance_type":{"type":"string","description_kind":"plain","required":true},"name":{"type":"string","description_kind":"plain","required":true},"node_repave_interval":{"type":"number","description":"Minimum number of seconds node should be Ready, before the next node is selected for repave. Default value is `0`, Applicable only for worker pools.","description_kind":"plain","optional":true},"subnet_id":{"type":"string","description_kind":"plain","optional":true},"update_strategy":{"type":"string","description":"Update strategy for the machine pool. Valid values are `RollingUpdateScaleOut` and `RollingUpdateScaleIn`.","description_kind":"plain","optional":true}},"block_types":{"node":{"nesting_mode":"list","block":{"attributes":{"action":{"type":"string","description":"The action to perform on the node. Valid values are: `cordon`, `uncordon`.","description_kind":"plain","required":true},"node_id":{"type":"string","description":"The node_id of the node, For example `i-07f899a33dee624f7`","description_kind":"plain","required":true}},"description_kind":"plain"}},"taints":{"nesting_mode":"list","block":{"attributes":{"effect":{"type":"string","description":"The effect of the taint. Allowed values are: `NoSchedule`, `PreferNoSchedule` or `NoExecute`.","description_kind":"plain","required":true},"key":{"type":"string","description":"The key of the taint.","description_kind":"plain","required":true},"value":{"type":"string","description":"The value of the taint.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description_kind":"plain"},"min_items":1},"namespaces":{"nesting_mode":"list","block":{"attributes":{"images_blacklist":{"type":["list","string"],"description":"List of images to disallow for the namespace. For example, `['nginx:latest', 'redis:latest']`","description_kind":"plain","optional":true},"name":{"type":"string","description":"Name of the namespace. This is the name of the Kubernetes namespace in the cluster.","description_kind":"plain","required":true},"resource_allocation":{"type":["map","string"],"description":"Resource allocation for the namespace. This is a map containing the resource type and the resource value. For example, `{cpu_cores: '2', memory_MiB: '2048'}`","description_kind":"plain","required":true}},"description":"The namespaces for the cluster.","description_kind":"plain"}},"scan_policy":{"nesting_mode":"list","block":{"attributes":{"configuration_scan_schedule":{"type":"string","description":"The schedule for configuration scan.","description_kind":"plain","required":true},"conformance_scan_schedule":{"type":"string","description":"The schedule for conformance scan.","description_kind":"plain","required":true},"penetration_scan_schedule":{"type":"string","description":"The schedule for penetration scan.","description_kind":"plain","required":true}},"description":"The scan policy for the cluster.","description_kind":"plain"},"max_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":"Resource for managing Openstack clusters in Spectro Cloud through Palette.","description_kind":"plain"}},"spectrocloud_cluster_profile":{"version":0,"block":{"attributes":{"cloud":{"type":"string","description":"Specify the infrastructure provider the cluster profile is for. Only Palette supported infrastructure providers can be used. The supported cloud types are - `all, aws, azure, gcp, vsphere, openstack, maas, virtual, baremetal, eks, aks, edge, edge-native, libvirt, tencent, tke, coxedge, generic, and gke`,If the value is set to `all`, then the type must be set to `add-on`. Otherwise, the cluster profile may be incompatible with other providers. Default value is `all`.","description_kind":"plain","optional":true},"context":{"type":"string","description":"The context of the cluster profile. Allowed values are `project` or `tenant`. Default value is `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":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},"tags":{"type":["set","string"],"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.","description_kind":"plain","optional":true},"type":{"type":"string","description":"Specify the cluster profile type to use. Allowed values are `cluster`, `infra`, `add-on`, and `system`. These values map to the following User Interface (UI) labels. Use the value ' cluster ' for a **Full** cluster profile.For an Infrastructure cluster profile, use the value `infra`; for an Add-on cluster profile, use the value `add-on`.System cluster profiles can be specified using the value `system`. To learn more about cluster profiles, refer to the [Cluster Profile](https://docs.spectrocloud.com/cluster-profiles) documentation. Default value is `add-on`.","description_kind":"plain","optional":true},"version":{"type":"string","description":"Version of the cluster profile. Defaults to '1.0.0'.","description_kind":"plain","optional":true}},"block_types":{"pack":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile. ","description_kind":"plain","required":true},"registry_uid":{"type":"string","description":"The registry UID of the pack. The registry UID is the unique identifier of the registry. This attribute is required if there is more than one registry that contains a pack with the same name. ","description_kind":"plain","optional":true},"tag":{"type":"string","description":"The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. ","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`.","description_kind":"plain","optional":true},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the [`spectrocloud_pack`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) data source. This value is required if the pack type is `spectro` and for `helm` if the chart is from a public helm registry.","description_kind":"plain","optional":true,"computed":true},"values":{"type":"string","description":"The values of the pack. The values are the configuration values of the pack. The values are specified in YAML format. ","description_kind":"plain","optional":true}},"block_types":{"manifest":{"nesting_mode":"list","block":{"attributes":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest. ","description_kind":"plain","required":true},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack. ","description_kind":"plain","required":true},"uid":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}}},"description":"For packs of type `spectro`, `helm`, and `manifest`, at least one pack must be specified.","description_kind":"plain"}},"profile_variables":{"nesting_mode":"list","block":{"block_types":{"variable":{"nesting_mode":"list","block":{"attributes":{"default_value":{"type":"string","description":"The default value of the variable.","description_kind":"plain","optional":true},"description":{"type":"string","description":"The description of the variable.","description_kind":"plain","optional":true},"display_name":{"type":"string","description":"The display name of the variable should be unique among variables.","description_kind":"plain","required":true},"format":{"type":"string","description":"The format of the variable. Default is `string`, `format` field can only be set during cluster profile creation. Allowed formats include `string`, `number`, `boolean`, `ipv4`, `ipv4cidr`, `ipv6`, `version`.","description_kind":"plain","optional":true},"hidden":{"type":"bool","description":"If `hidden` is set to `true`, then variable will be hidden for overriding the value. By default the `hidden` flag will be set to `false`.","description_kind":"plain","optional":true},"immutable":{"type":"bool","description":"If `immutable` is set to `true`, then variable value can't be editable. By default the `immutable` flag will be set to `false`.","description_kind":"plain","optional":true},"is_sensitive":{"type":"bool","description":"If `is_sensitive` is set to `true`, then default value will be masked. By default the `is_sensitive` flag will be set to false.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the variable should be unique among variables.","description_kind":"plain","required":true},"regex":{"type":"string","description":"Regular expression pattern which the variable value must match.","description_kind":"plain","optional":true},"required":{"type":"bool","description":"The `required` to specify if the variable is optional or mandatory. If it is mandatory then default value must be provided.","description_kind":"plain","optional":true}},"description_kind":"plain"},"min_items":1}},"description":"List of variables for the cluster profile. Note: This is a preview feature and is currently only supported for the `edge_native` cloud type and general `add-on` profiles.","description_kind":"plain"},"max_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":"The Cluster Profile resource allows you to create and manage cluster profiles.","description_kind":"plain"}},"spectrocloud_cluster_profile_import":{"version":0,"block":{"attributes":{"context":{"type":"string","description":"Allowed values are `project`, `tenant` or `system`. Defaults to `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"import_file":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"spectrocloud_cluster_tke":{"version":2,"block":{"attributes":{"admin_kube_config":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using `kubectl`, With admin privilege.","description_kind":"plain","computed":true},"apply_setting":{"type":"string","description":"The setting to apply the cluster profile. `DownloadAndInstall` will download and install packs in one action. `DownloadAndInstallLater` will only download artifact and postpone install for later. Default value is `DownloadAndInstall`.","description_kind":"plain","optional":true},"cloud_account_id":{"type":"string","description_kind":"plain","required":true},"cloud_config_id":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type `azure`.","description_kind":"plain","deprecated":true,"computed":true},"cluster_meta_attribute":{"type":"string","description":"`cluster_meta_attribute` can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`","description_kind":"plain","optional":true},"context":{"type":"string","description":"The context of the TKE cluster. Allowed values are `project` or `tenant`. Default is `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.","description_kind":"plain","optional":true},"force_delete":{"type":"bool","description":"If set to `true`, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.","description_kind":"plain","optional":true},"force_delete_delay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using `kubectl`.","description_kind":"plain","computed":true},"location_config":{"type":["list",["object",{"country_code":"string","country_name":"string","latitude":"number","longitude":"number","region_code":"string","region_name":"string"}]],"description":"The location of the cluster.","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true},"pause_agent_upgrades":{"type":"string","description":"The pause agent upgrades setting allows to control the automatic upgrade of the Palette component and agent for an individual cluster. The default value is `unlock`, meaning upgrades occur automatically. Setting it to `lock` pauses automatic agent upgrades for the cluster.","description_kind":"plain","optional":true},"review_repave_state":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.","description_kind":"plain","optional":true},"skip_completion":{"type":"bool","description":"If `true`, the cluster will be created asynchronously. Default value is `false`.","description_kind":"plain","optional":true},"tags":{"type":["set","string"],"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.","description_kind":"plain","optional":true}},"block_types":{"backup_policy":{"nesting_mode":"list","block":{"attributes":{"backup_location_id":{"type":"string","description":"The ID of the backup location to use for the backup.","description_kind":"plain","required":true},"cluster_uids":{"type":["set","string"],"description":"The list of cluster UIDs to include in the backup. If `include_all_clusters` is set to `true`, then all clusters will be included.","description_kind":"plain","optional":true},"expiry_in_hour":{"type":"number","description":"The number of hours after which the backup will be deleted. For example, if the expiry is set to 24, the backup will be deleted after 24 hours.","description_kind":"plain","required":true},"include_all_clusters":{"type":"bool","description":"Whether to include all clusters in the backup. If set to false, only the clusters specified in `cluster_uids` will be included.","description_kind":"plain","optional":true},"include_cluster_resources":{"type":"bool","description":"Whether to include the cluster resources in the backup. If set to false, only the cluster configuration and disks will be backed up.","description_kind":"plain","optional":true},"include_disks":{"type":"bool","description":"Whether to include the disks in the backup. If set to false, only the cluster configuration will be backed up.","description_kind":"plain","optional":true},"namespaces":{"type":["set","string"],"description":"The list of Kubernetes namespaces to include in the backup. If not specified, all namespaces will be included.","description_kind":"plain","optional":true},"prefix":{"type":"string","description":"Prefix for the backup name. The backup name will be of the format \u003cprefix\u003e-\u003ccluster-name\u003e-\u003ctimestamp\u003e.","description_kind":"plain","required":true},"schedule":{"type":"string","description":"The schedule for the backup. The schedule is specified in cron format. For example, to run the backup every day at 1:00 AM, the schedule should be set to `0 1 * * *`.","description_kind":"plain","required":true}},"description":"The backup policy for the cluster. If not specified, no backups will be taken.","description_kind":"plain"},"max_items":1},"cloud_config":{"nesting_mode":"list","block":{"attributes":{"az_subnets":{"type":["map","string"],"description_kind":"plain","optional":true},"azs":{"type":["list","string"],"description_kind":"plain","optional":true},"endpoint_access":{"type":"string","description_kind":"plain","optional":true},"public_access_cidrs":{"type":["set","string"],"description_kind":"plain","optional":true},"region":{"type":"string","description_kind":"plain","required":true},"ssh_key_name":{"type":"string","description":"Public SSH key to be used for the cluster nodes.","description_kind":"plain","optional":true},"vpc_id":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"},"min_items":1,"max_items":1},"cluster_profile":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The ID of the cluster profile.","description_kind":"plain","required":true}},"block_types":{"pack":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile. ","description_kind":"plain","required":true},"registry_uid":{"type":"string","description":"The registry UID of the pack. The registry UID is the unique identifier of the registry. This attribute is required if there is more than one registry that contains a pack with the same name. ","description_kind":"plain","optional":true},"tag":{"type":"string","description":"The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. ","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`.","description_kind":"plain","optional":true},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the [`spectrocloud_pack`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) data source. This value is required if the pack type is `spectro` and for `helm` if the chart is from a public helm registry.","description_kind":"plain","optional":true,"computed":true},"values":{"type":"string","description":"The values of the pack. The values are the configuration values of the pack. The values are specified in YAML format. ","description_kind":"plain","optional":true}},"block_types":{"manifest":{"nesting_mode":"list","block":{"attributes":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest. ","description_kind":"plain","required":true},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack. ","description_kind":"plain","required":true},"uid":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}}},"description":"For packs of type `spectro`, `helm`, and `manifest`, at least one pack must be specified.","description_kind":"plain"}}},"description_kind":"plain"}},"cluster_rbac_binding":{"nesting_mode":"list","block":{"attributes":{"namespace":{"type":"string","description":"The Kubernetes namespace of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"role":{"type":["map","string"],"description":"The role of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`.","description_kind":"plain","required":true}},"block_types":{"subjects":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the subject. Required if 'type' is set to 'User' or 'Group'.","description_kind":"plain","required":true},"namespace":{"type":"string","description":"The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description":"The RBAC binding for the cluster.","description_kind":"plain"}},"host_config":{"nesting_mode":"list","block":{"attributes":{"external_traffic_policy":{"type":"string","description":"The external traffic policy for the cluster.","description_kind":"plain","optional":true},"host_endpoint_type":{"type":"string","description":"The type of endpoint for the cluster. Can be either 'Ingress' or 'LoadBalancer'. The default is 'Ingress'.","description_kind":"plain","optional":true},"ingress_host":{"type":"string","description":"The host for the Ingress endpoint. Required if 'host_endpoint_type' is set to 'Ingress'.","description_kind":"plain","optional":true},"load_balancer_source_ranges":{"type":"string","description":"The source ranges for the load balancer. Required if 'host_endpoint_type' is set to 'LoadBalancer'.","description_kind":"plain","optional":true}},"description":"The host configuration for the cluster.","description_kind":"plain"}},"machine_pool":{"nesting_mode":"list","block":{"attributes":{"additional_labels":{"type":["map","string"],"description_kind":"plain","optional":true},"az_subnets":{"type":["map","string"],"description_kind":"plain","optional":true},"azs":{"type":["list","string"],"description_kind":"plain","optional":true},"capacity_type":{"type":"string","description_kind":"plain","optional":true},"count":{"type":"number","description":"Number of nodes in the machine pool.","description_kind":"plain","required":true},"disk_size_gb":{"type":"number","description_kind":"plain","required":true},"instance_type":{"type":"string","description_kind":"plain","required":true},"max":{"type":"number","description":"Maximum number of nodes in the machine pool. This is used for autoscaling the machine pool.","description_kind":"plain","optional":true},"max_price":{"type":"string","description_kind":"plain","optional":true},"min":{"type":"number","description":"Minimum number of nodes in the machine pool. This is used for autoscaling the machine pool.","description_kind":"plain","optional":true},"name":{"type":"string","description_kind":"plain","required":true},"update_strategy":{"type":"string","description":"Update strategy for the machine pool. Valid values are `RollingUpdateScaleOut` and `RollingUpdateScaleIn`.","description_kind":"plain","optional":true}},"block_types":{"node":{"nesting_mode":"list","block":{"attributes":{"action":{"type":"string","description":"The action to perform on the node. Valid values are: `cordon`, `uncordon`.","description_kind":"plain","required":true},"node_id":{"type":"string","description":"The node_id of the node, For example `i-07f899a33dee624f7`","description_kind":"plain","required":true}},"description_kind":"plain"}},"taints":{"nesting_mode":"list","block":{"attributes":{"effect":{"type":"string","description":"The effect of the taint. Allowed values are: `NoSchedule`, `PreferNoSchedule` or `NoExecute`.","description_kind":"plain","required":true},"key":{"type":"string","description":"The key of the taint.","description_kind":"plain","required":true},"value":{"type":"string","description":"The value of the taint.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description_kind":"plain"},"min_items":1},"namespaces":{"nesting_mode":"list","block":{"attributes":{"images_blacklist":{"type":["list","string"],"description":"List of images to disallow for the namespace. For example, `['nginx:latest', 'redis:latest']`","description_kind":"plain","optional":true},"name":{"type":"string","description":"Name of the namespace. This is the name of the Kubernetes namespace in the cluster.","description_kind":"plain","required":true},"resource_allocation":{"type":["map","string"],"description":"Resource allocation for the namespace. This is a map containing the resource type and the resource value. For example, `{cpu_cores: '2', memory_MiB: '2048'}`","description_kind":"plain","required":true}},"description":"The namespaces for the cluster.","description_kind":"plain"}},"scan_policy":{"nesting_mode":"list","block":{"attributes":{"configuration_scan_schedule":{"type":"string","description":"The schedule for configuration scan.","description_kind":"plain","required":true},"conformance_scan_schedule":{"type":"string","description":"The schedule for conformance scan.","description_kind":"plain","required":true},"penetration_scan_schedule":{"type":"string","description":"The schedule for penetration scan.","description_kind":"plain","required":true}},"description":"The scan policy for the cluster.","description_kind":"plain"},"max_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":"Resource for managing TKE clusters in Spectro Cloud through Palette.","description_kind":"plain"}},"spectrocloud_cluster_vsphere":{"version":0,"block":{"attributes":{"admin_kube_config":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using `kubectl`, With admin privilege.","description_kind":"plain","computed":true},"apply_setting":{"type":"string","description":"The setting to apply the cluster profile. `DownloadAndInstall` will download and install packs in one action. `DownloadAndInstallLater` will only download artifact and postpone install for later. Default value is `DownloadAndInstall`.","description_kind":"plain","optional":true},"cloud_account_id":{"type":"string","description":"ID of the cloud account to be used for the cluster. This cloud account must be of type `vsphere`.","description_kind":"plain","required":true},"cloud_config_id":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type `azure`.","description_kind":"plain","deprecated":true,"computed":true},"cluster_meta_attribute":{"type":"string","description":"`cluster_meta_attribute` can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`","description_kind":"plain","optional":true},"context":{"type":"string","description":"The context of the VMware cluster. Allowed values are `project` or `tenant`. Default is `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.","description_kind":"plain","optional":true},"force_delete":{"type":"bool","description":"If set to `true`, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.","description_kind":"plain","optional":true},"force_delete_delay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using `kubectl`.","description_kind":"plain","computed":true},"name":{"type":"string","description":"The name of the cluster.","description_kind":"plain","required":true},"os_patch_after":{"type":"string","description":"The date and time after which to patch the cluster. Prefix the time value with the respective RFC. Ex: `RFC3339: 2006-01-02T15:04:05Z07:00`","description_kind":"plain","optional":true},"os_patch_on_boot":{"type":"bool","description":"Whether to apply OS patch on boot. Default is `false`.","description_kind":"plain","optional":true},"os_patch_schedule":{"type":"string","description":"The cron schedule for OS patching. This must be in the form of cron syntax. Ex: `0 0 * * *`.","description_kind":"plain","optional":true},"pause_agent_upgrades":{"type":"string","description":"The pause agent upgrades setting allows to control the automatic upgrade of the Palette component and agent for an individual cluster. The default value is `unlock`, meaning upgrades occur automatically. Setting it to `lock` pauses automatic agent upgrades for the cluster.","description_kind":"plain","optional":true},"review_repave_state":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.","description_kind":"plain","optional":true},"skip_completion":{"type":"bool","description":"If `true`, the cluster will be created asynchronously. Default value is `false`.","description_kind":"plain","optional":true},"tags":{"type":["set","string"],"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.","description_kind":"plain","optional":true}},"block_types":{"backup_policy":{"nesting_mode":"list","block":{"attributes":{"backup_location_id":{"type":"string","description":"The ID of the backup location to use for the backup.","description_kind":"plain","required":true},"cluster_uids":{"type":["set","string"],"description":"The list of cluster UIDs to include in the backup. If `include_all_clusters` is set to `true`, then all clusters will be included.","description_kind":"plain","optional":true},"expiry_in_hour":{"type":"number","description":"The number of hours after which the backup will be deleted. For example, if the expiry is set to 24, the backup will be deleted after 24 hours.","description_kind":"plain","required":true},"include_all_clusters":{"type":"bool","description":"Whether to include all clusters in the backup. If set to false, only the clusters specified in `cluster_uids` will be included.","description_kind":"plain","optional":true},"include_cluster_resources":{"type":"bool","description":"Whether to include the cluster resources in the backup. If set to false, only the cluster configuration and disks will be backed up.","description_kind":"plain","optional":true},"include_disks":{"type":"bool","description":"Whether to include the disks in the backup. If set to false, only the cluster configuration will be backed up.","description_kind":"plain","optional":true},"namespaces":{"type":["set","string"],"description":"The list of Kubernetes namespaces to include in the backup. If not specified, all namespaces will be included.","description_kind":"plain","optional":true},"prefix":{"type":"string","description":"Prefix for the backup name. The backup name will be of the format \u003cprefix\u003e-\u003ccluster-name\u003e-\u003ctimestamp\u003e.","description_kind":"plain","required":true},"schedule":{"type":"string","description":"The schedule for the backup. The schedule is specified in cron format. For example, to run the backup every day at 1:00 AM, the schedule should be set to `0 1 * * *`.","description_kind":"plain","required":true}},"description":"The backup policy for the cluster. If not specified, no backups will be taken.","description_kind":"plain"},"max_items":1},"cloud_config":{"nesting_mode":"list","block":{"attributes":{"datacenter":{"type":"string","description":"The name of the datacenter in vSphere. This is the name of the datacenter as it appears in vSphere.","description_kind":"plain","required":true},"folder":{"type":"string","description":"The name of the folder in vSphere. This is the name of the folder as it appears in vSphere.","description_kind":"plain","required":true},"image_template_folder":{"type":"string","description":"The name of the image template folder in vSphere. This is the name of the folder as it appears in vSphere.","description_kind":"plain","optional":true},"network_search_domain":{"type":"string","description":"The search domain to use for the cluster in case of DHCP.","description_kind":"plain","optional":true},"network_type":{"type":"string","description":"The type of network to use for the cluster. This can be `VIP` or `DDNS`.","description_kind":"plain","optional":true},"ntp_servers":{"type":["set","string"],"description":"A list of NTP servers to be used by the cluster.","description_kind":"plain","optional":true},"ssh_key":{"type":"string","description":"The SSH key to be used for the cluster. This is the public key that will be used to access the cluster nodes. `ssh_key \u0026 ssh_keys` are mutually exclusive.","description_kind":"plain","deprecated":true,"optional":true},"ssh_keys":{"type":["set","string"],"description":"List of public SSH (Secure Shell) keys to establish, administer, and communicate with remote clusters, `ssh_key \u0026 ssh_keys` are mutually exclusive.","description_kind":"plain","optional":true},"static_ip":{"type":"bool","description":"Whether to use static IP addresses for the cluster. If `true`, the cluster will use static IP addresses. If `false`, the cluster will use DDNS. Default is `false`.","description_kind":"plain","optional":true}},"description_kind":"plain"},"min_items":1,"max_items":1},"cluster_profile":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The ID of the cluster profile.","description_kind":"plain","required":true}},"block_types":{"pack":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile. ","description_kind":"plain","required":true},"registry_uid":{"type":"string","description":"The registry UID of the pack. The registry UID is the unique identifier of the registry. This attribute is required if there is more than one registry that contains a pack with the same name. ","description_kind":"plain","optional":true},"tag":{"type":"string","description":"The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. ","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`.","description_kind":"plain","optional":true},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the [`spectrocloud_pack`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) data source. This value is required if the pack type is `spectro` and for `helm` if the chart is from a public helm registry.","description_kind":"plain","optional":true,"computed":true},"values":{"type":"string","description":"The values of the pack. The values are the configuration values of the pack. The values are specified in YAML format. ","description_kind":"plain","optional":true}},"block_types":{"manifest":{"nesting_mode":"list","block":{"attributes":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest. ","description_kind":"plain","required":true},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack. ","description_kind":"plain","required":true},"uid":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}}},"description":"For packs of type `spectro`, `helm`, and `manifest`, at least one pack must be specified.","description_kind":"plain"}}},"description_kind":"plain"}},"cluster_rbac_binding":{"nesting_mode":"list","block":{"attributes":{"namespace":{"type":"string","description":"The Kubernetes namespace of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"role":{"type":["map","string"],"description":"The role of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`.","description_kind":"plain","required":true}},"block_types":{"subjects":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the subject. Required if 'type' is set to 'User' or 'Group'.","description_kind":"plain","required":true},"namespace":{"type":"string","description":"The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description":"The RBAC binding for the cluster.","description_kind":"plain"}},"host_config":{"nesting_mode":"list","block":{"attributes":{"external_traffic_policy":{"type":"string","description":"The external traffic policy for the cluster.","description_kind":"plain","optional":true},"host_endpoint_type":{"type":"string","description":"The type of endpoint for the cluster. Can be either 'Ingress' or 'LoadBalancer'. The default is 'Ingress'.","description_kind":"plain","optional":true},"ingress_host":{"type":"string","description":"The host for the Ingress endpoint. Required if 'host_endpoint_type' is set to 'Ingress'.","description_kind":"plain","optional":true},"load_balancer_source_ranges":{"type":"string","description":"The source ranges for the load balancer. Required if 'host_endpoint_type' is set to 'LoadBalancer'.","description_kind":"plain","optional":true}},"description":"The host configuration for the cluster.","description_kind":"plain"}},"location_config":{"nesting_mode":"list","block":{"attributes":{"country_code":{"type":"string","description":"The country code of the country the cluster is located in.","description_kind":"plain","optional":true},"country_name":{"type":"string","description":"The name of the country.","description_kind":"plain","optional":true},"latitude":{"type":"number","description":"The latitude coordinates value.","description_kind":"plain","required":true},"longitude":{"type":"number","description":"The longitude coordinates value.","description_kind":"plain","required":true},"region_code":{"type":"string","description":"The region code of where the cluster is located in.","description_kind":"plain","optional":true},"region_name":{"type":"string","description":"The name of the region.","description_kind":"plain","optional":true}},"description_kind":"plain"}},"machine_pool":{"nesting_mode":"set","block":{"attributes":{"additional_labels":{"type":["map","string"],"description_kind":"plain","optional":true},"control_plane":{"type":"bool","description":"Whether this machine pool is a control plane. Defaults to `false`.","description_kind":"plain","optional":true},"control_plane_as_worker":{"type":"bool","description":"Whether this machine pool is a control plane and a worker. Defaults to `false`.","description_kind":"plain","optional":true},"count":{"type":"number","description":"Number of nodes in the machine pool.","description_kind":"plain","required":true},"max":{"type":"number","description":"Maximum number of nodes in the machine pool. This is used for autoscaling the machine pool.","description_kind":"plain","optional":true},"min":{"type":"number","description":"Minimum number of nodes in the machine pool. This is used for autoscaling the machine pool.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the machine pool. This is used to identify the machine pool in the cluster.","description_kind":"plain","required":true},"node_repave_interval":{"type":"number","description":"Minimum number of seconds node should be Ready, before the next node is selected for repave. Default value is `0`, Applicable only for worker pools.","description_kind":"plain","optional":true},"update_strategy":{"type":"string","description":"Update strategy for the machine pool. Valid values are `RollingUpdateScaleOut` and `RollingUpdateScaleIn`.","description_kind":"plain","optional":true}},"block_types":{"instance_type":{"nesting_mode":"list","block":{"attributes":{"cpu":{"type":"number","description":"The number of CPUs.","description_kind":"plain","required":true},"disk_size_gb":{"type":"number","description":"The size of the disk in GB.","description_kind":"plain","required":true},"memory_mb":{"type":"number","description":"The amount of memory in MB.","description_kind":"plain","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1},"node":{"nesting_mode":"list","block":{"attributes":{"action":{"type":"string","description":"The action to perform on the node. Valid values are: `cordon`, `uncordon`.","description_kind":"plain","required":true},"node_id":{"type":"string","description":"The node_id of the node, For example `i-07f899a33dee624f7`","description_kind":"plain","required":true}},"description_kind":"plain"}},"placement":{"nesting_mode":"list","block":{"attributes":{"cluster":{"type":"string","description":"The name of the cluster to use for the machine pool. As it appears in the vSphere.","description_kind":"plain","required":true},"datastore":{"type":"string","description":"The name of the datastore to use for the machine pool. As it appears in the vSphere.","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","computed":true},"network":{"type":"string","description":"The name of the network to use for the machine pool. As it appears in the vSphere.","description_kind":"plain","required":true},"resource_pool":{"type":"string","description":"The name of the resource pool to use for the machine pool. As it appears in the vSphere.","description_kind":"plain","required":true},"static_ip_pool_id":{"type":"string","description":"The ID of the static IP pool to use for the machine pool in case of static cluster placement.","description_kind":"plain","optional":true}},"description_kind":"plain"},"min_items":1},"taints":{"nesting_mode":"list","block":{"attributes":{"effect":{"type":"string","description":"The effect of the taint. Allowed values are: `NoSchedule`, `PreferNoSchedule` or `NoExecute`.","description_kind":"plain","required":true},"key":{"type":"string","description":"The key of the taint.","description_kind":"plain","required":true},"value":{"type":"string","description":"The value of the taint.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description_kind":"plain"},"min_items":1},"namespaces":{"nesting_mode":"list","block":{"attributes":{"images_blacklist":{"type":["list","string"],"description":"List of images to disallow for the namespace. For example, `['nginx:latest', 'redis:latest']`","description_kind":"plain","optional":true},"name":{"type":"string","description":"Name of the namespace. This is the name of the Kubernetes namespace in the cluster.","description_kind":"plain","required":true},"resource_allocation":{"type":["map","string"],"description":"Resource allocation for the namespace. This is a map containing the resource type and the resource value. For example, `{cpu_cores: '2', memory_MiB: '2048'}`","description_kind":"plain","required":true}},"description":"The namespaces for the cluster.","description_kind":"plain"}},"scan_policy":{"nesting_mode":"list","block":{"attributes":{"configuration_scan_schedule":{"type":"string","description":"The schedule for configuration scan.","description_kind":"plain","required":true},"conformance_scan_schedule":{"type":"string","description":"The schedule for conformance scan.","description_kind":"plain","required":true},"penetration_scan_schedule":{"type":"string","description":"The schedule for penetration scan.","description_kind":"plain","required":true}},"description":"The scan policy for the cluster.","description_kind":"plain"},"max_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":"A resource to manage a vSphere cluster in Palette.","description_kind":"plain"}},"spectrocloud_datavolume":{"version":0,"block":{"attributes":{"cluster_context":{"type":"string","description_kind":"plain","required":true},"cluster_uid":{"type":"string","description":"The cluster UID to which the virtual machine belongs to.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"vm_name":{"type":"string","description":"The name of the virtual machine to which the data volume belongs to.","description_kind":"plain","optional":true},"vm_namespace":{"type":"string","description":"The namespace of the virtual machine to which the data volume belongs to.","description_kind":"plain","optional":true}},"block_types":{"add_volume_options":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description_kind":"plain","required":true}},"block_types":{"disk":{"nesting_mode":"list","block":{"attributes":{"bus":{"type":"string","description_kind":"plain","required":true},"name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1},"volume_source":{"nesting_mode":"list","block":{"block_types":{"data_volume":{"nesting_mode":"list","block":{"attributes":{"hotpluggable":{"type":"bool","description_kind":"plain","optional":true},"name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1}},"description_kind":"plain"},"min_items":1,"max_items":1}},"description":"DataVolumeSpec defines our specification for a DataVolume type","description_kind":"plain"},"min_items":1,"max_items":1},"metadata":{"nesting_mode":"list","block":{"attributes":{"annotations":{"type":["map","string"],"description":"An unstructured key value map stored with the DataVolume that may be used to store arbitrary metadata. More info: http://kubernetes.io/docs/user-guide/annotations","description_kind":"plain","optional":true,"computed":true},"generation":{"type":"number","description":"A sequence number representing a specific generation of the desired state.","description_kind":"plain","computed":true},"labels":{"type":["map","string"],"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the DataVolume. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels","description_kind":"plain","optional":true},"name":{"type":"string","description":"Name of the DataVolume, must be unique. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names","description_kind":"plain","optional":true,"computed":true},"namespace":{"type":"string","description":"Namespace defines the space within which name of the DataVolume must be unique.","description_kind":"plain","optional":true},"resource_version":{"type":"string","description":"An opaque value that represents the internal version of this DataVolume that can be used by clients to determine when DataVolume has changed. Read more: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency","description_kind":"plain","computed":true},"self_link":{"type":"string","description":"A URL representing this DataVolume.","description_kind":"plain","computed":true},"uid":{"type":"string","description":"The unique in time and space value for this DataVolume. More info: http://kubernetes.io/docs/user-guide/identifiers#uids","description_kind":"plain","computed":true}},"description":"Standard DataVolume's metadata. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata","description_kind":"plain"},"min_items":1,"max_items":1},"spec":{"nesting_mode":"list","block":{"attributes":{"content_type":{"type":"string","description":"ContentType options: \"kubevirt\", \"archive\".","description_kind":"plain","optional":true}},"block_types":{"pvc":{"nesting_mode":"list","block":{"attributes":{"access_modes":{"type":["set","string"],"description":"A set of the desired access modes the volume should have. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#access-modes-1","description_kind":"plain","required":true},"storage_class_name":{"type":"string","description":"Name of the storage class requested by the claim","description_kind":"plain","optional":true,"computed":true},"volume_mode":{"type":"string","description":"volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec.","description_kind":"plain","optional":true,"computed":true},"volume_name":{"type":"string","description":"The binding reference to the PersistentVolume backing this claim.","description_kind":"plain","optional":true,"computed":true}},"block_types":{"resources":{"nesting_mode":"list","block":{"attributes":{"limits":{"type":["map","string"],"description":"Map describing the maximum amount of compute resources allowed. More info: http://kubernetes.io/docs/user-guide/compute-resources/","description_kind":"plain","optional":true},"requests":{"type":["map","string"],"description":"Map describing the minimum amount of compute resources required. If this is omitted for a container, it defaults to `limits` if that is explicitly specified, otherwise to an implementation-defined value. More info: http://kubernetes.io/docs/user-guide/compute-resources/","description_kind":"plain","optional":true}},"description":"A list of the minimum resources the volume should have. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#resources","description_kind":"plain"},"min_items":1,"max_items":1},"selector":{"nesting_mode":"list","block":{"attributes":{"match_labels":{"type":["map","string"],"description":"A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of `match_expressions`, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.","description_kind":"plain","optional":true}},"block_types":{"match_expressions":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The label key that the selector applies to.","description_kind":"plain","optional":true},"operator":{"type":"string","description":"A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`.","description_kind":"plain","optional":true},"values":{"type":["set","string"],"description":"An array of string values. If the operator is `In` or `NotIn`, the values array must be non-empty. If the operator is `Exists` or `DoesNotExist`, the values array must be empty. This array is replaced during a strategic merge patch.","description_kind":"plain","optional":true}},"description":"A list of label selector requirements. The requirements are ANDed.","description_kind":"plain"}}},"description":"A label query over volumes to consider for binding.","description_kind":"plain"},"max_items":1}},"description":"PVC is a pointer to the PVC Spec we want to use.","description_kind":"plain"},"min_items":1,"max_items":1},"source":{"nesting_mode":"list","block":{"block_types":{"blank":{"nesting_mode":"list","block":{"description":"DataVolumeSourceBlank provides the parameters to create a Data Volume from an empty source.","description_kind":"plain"},"max_items":1},"http":{"nesting_mode":"list","block":{"attributes":{"cert_config_map":{"type":"string","description":"Cert_config_map provides a reference to the Registry certs.","description_kind":"plain","optional":true},"secret_ref":{"type":"string","description":"Secret_ref provides the secret reference needed to access the HTTP source.","description_kind":"plain","optional":true},"url":{"type":"string","description":"url is the URL of the http source.","description_kind":"plain","optional":true}},"description":"DataVolumeSourceHTTP provides the parameters to create a Data Volume from an HTTP source.","description_kind":"plain"},"max_items":1},"pvc":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the PVC.","description_kind":"plain","optional":true},"namespace":{"type":"string","description":"The namespace which the PVC located in.","description_kind":"plain","optional":true}},"description":"DataVolumeSourcePVC provides the parameters to create a Data Volume from an existing PVC.","description_kind":"plain"},"max_items":1},"registry":{"nesting_mode":"list","block":{"attributes":{"image_url":{"type":"string","description":"The registry URL of the image to download.","description_kind":"plain","optional":true}},"description":"DataVolumeSourceRegistry provides the parameters to create a Data Volume from an existing PVC.","description_kind":"plain"},"max_items":1}},"description":"Source is the src of the data for the requested DataVolume.","description_kind":"plain"},"max_items":1}},"description":"DataVolumeSpec defines our specification for a DataVolume type","description_kind":"plain"},"min_items":1,"max_items":1},"status":{"nesting_mode":"list","block":{"attributes":{"phase":{"type":"string","description":"DataVolumePhase is the current phase of the DataVolume.","description_kind":"plain","optional":true,"computed":true},"progress":{"type":"string","description":"DataVolumePhase is the current phase of the DataVolume.","description_kind":"plain","optional":true,"computed":true}},"description":"DataVolumeStatus provides the parameters to store the phase of the Data Volume","description_kind":"plain"},"max_items":1},"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"}},"spectrocloud_filter":{"version":2,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"block_types":{"metadata":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the filter.","description_kind":"plain","required":true}},"description":"Metadata of the filter.","description_kind":"plain"},"min_items":1,"max_items":1},"spec":{"nesting_mode":"list","block":{"block_types":{"filter_group":{"nesting_mode":"list","block":{"attributes":{"conjunction":{"type":"string","description":"Conjunction operation of the filter group. Valid values are 'and' and 'or'.","description_kind":"plain","required":true}},"block_types":{"filters":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"Key of the filter.","description_kind":"plain","required":true},"negation":{"type":"bool","description":"Negation flag of the filter condition.","description_kind":"plain","optional":true},"operator":{"type":"string","description":"Operator of the filter. Valid values are 'eq'.","description_kind":"plain","required":true},"values":{"type":["list","string"],"description":"Values of the filter.","description_kind":"plain","required":true}},"description":"List of filters in the filter group.","description_kind":"plain"},"min_items":1}},"description":"Filter group of the filter.","description_kind":"plain"},"min_items":1,"max_items":1}},"description":"Specification of the filter.","description_kind":"plain"},"min_items":1,"max_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":"A resource for creating and managing filters.","description_kind":"plain"}},"spectrocloud_macro":{"version":2,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"The name of the macro or service variable output.","description_kind":"plain","required":true},"project":{"type":"string","description":"The Spectro Cloud project name.","description_kind":"plain","optional":true},"value":{"type":"string","description":"The value that the macro or service output variable will contain.","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},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description":"A resource for creating and managing service output variables and macro.","description_kind":"plain"}},"spectrocloud_macros":{"version":1,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"macros":{"type":["map","string"],"description":"The key-value mapping includes the macro name and its corresponding value, representing either a macro or a service variable output.","description_kind":"plain","required":true},"project":{"type":"string","description":"The Spectro Cloud project name.","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":"A resource for creating and managing service output variables and macros.","description_kind":"plain"}},"spectrocloud_privatecloudgateway_ippool":{"version":2,"block":{"attributes":{"gateway":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_end_range":{"type":"string","description_kind":"plain","optional":true},"ip_start_range":{"type":"string","description_kind":"plain","optional":true},"name":{"type":"string","description_kind":"plain","required":true},"nameserver_addresses":{"type":["set","string"],"description_kind":"plain","optional":true},"nameserver_search_suffix":{"type":["set","string"],"description_kind":"plain","optional":true},"network_type":{"type":"string","description_kind":"plain","required":true},"prefix":{"type":"number","description_kind":"plain","required":true},"private_cloud_gateway_id":{"type":"string","description_kind":"plain","required":true},"restrict_to_single_cluster":{"type":"bool","description_kind":"plain","optional":true},"subnet_cidr":{"type":"string","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"}},"spectrocloud_project":{"version":2,"block":{"attributes":{"description":{"type":"string","description":"The description of the project.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"The name of the project.","description_kind":"plain","required":true},"tags":{"type":["set","string"],"description":"Assign tags to the project.","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":"Create and manage projects in Palette.","description_kind":"plain"}},"spectrocloud_registry_helm":{"version":2,"block":{"attributes":{"endpoint":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"is_private":{"type":"bool","description_kind":"plain","required":true},"name":{"type":"string","description_kind":"plain","required":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"credential_type":{"type":"string","description_kind":"plain","required":true},"password":{"type":"string","description_kind":"plain","optional":true},"token":{"type":"string","description_kind":"plain","optional":true},"username":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"},"min_items":1,"max_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"}},"spectrocloud_registry_oci":{"version":2,"block":{"attributes":{"endpoint":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"is_private":{"type":"bool","description_kind":"plain","required":true},"name":{"type":"string","description_kind":"plain","required":true},"type":{"type":"string","description_kind":"plain","required":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"access_key":{"type":"string","description_kind":"plain","optional":true},"arn":{"type":"string","description_kind":"plain","optional":true},"credential_type":{"type":"string","description_kind":"plain","required":true},"external_id":{"type":"string","description_kind":"plain","optional":true},"secret_key":{"type":"string","description_kind":"plain","optional":true,"sensitive":true}},"description_kind":"plain"},"min_items":1,"max_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"}},"spectrocloud_team":{"version":2,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the team. ","description_kind":"plain","required":true},"tenant_role_mapping":{"type":["set","string"],"description":"List of tenant role ids to be associated with the team. ","description_kind":"plain","optional":true},"users":{"type":["set","string"],"description":"List of user ids to be associated with the team. ","description_kind":"plain","optional":true}},"block_types":{"project_role_mapping":{"nesting_mode":"set","block":{"attributes":{"id":{"type":"string","description":"Project id to be associated with the team.","description_kind":"plain","required":true},"roles":{"type":["set","string"],"description":"List of project roles to be associated with the team. ","description_kind":"plain","required":true}},"description":"List of project roles to be associated with the team. ","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"}},"workspace_role_mapping":{"nesting_mode":"set","block":{"attributes":{"id":{"type":"string","description":"Project id to be associated with the team.","description_kind":"plain","required":true}},"block_types":{"workspace":{"nesting_mode":"set","block":{"attributes":{"id":{"type":"string","description":"Workspace id to be associated with the team.","description_kind":"plain","required":true},"roles":{"type":["set","string"],"description":"List of workspace roles to be associated with the team.","description_kind":"plain","optional":true}},"description":"List of workspace roles to be associated with the team. ","description_kind":"plain"}}},"description":"List of workspace roles to be associated with the team. ","description_kind":"plain"}}},"description_kind":"plain"}},"spectrocloud_virtual_cluster":{"version":2,"block":{"attributes":{"admin_kube_config":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using `kubectl`, With admin privilege.","description_kind":"plain","computed":true},"apply_setting":{"type":"string","description":"The setting to apply the cluster profile. `DownloadAndInstall` will download and install packs in one action. `DownloadAndInstallLater` will only download artifact and postpone install for later. Default value is `DownloadAndInstall`.","description_kind":"plain","optional":true},"cloud_config_id":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type `azure`.","description_kind":"plain","deprecated":true,"computed":true},"cluster_group_uid":{"type":"string","description_kind":"plain","optional":true},"context":{"type":"string","description":"The context of the virtual cluster. Allowed values are `project` or `tenant`. Default is `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.","description_kind":"plain","optional":true},"force_delete":{"type":"bool","description":"If set to `true`, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.","description_kind":"plain","optional":true},"force_delete_delay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.","description_kind":"plain","optional":true},"host_cluster_uid":{"type":"string","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using `kubectl`.","description_kind":"plain","computed":true},"location_config":{"type":["list",["object",{"country_code":"string","country_name":"string","latitude":"number","longitude":"number","region_code":"string","region_name":"string"}]],"description":"The location of the cluster.","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true},"os_patch_after":{"type":"string","description":"The date and time after which to patch the cluster. Prefix the time value with the respective RFC. Ex: `RFC3339: 2006-01-02T15:04:05Z07:00`","description_kind":"plain","optional":true},"os_patch_on_boot":{"type":"bool","description":"Whether to apply OS patch on boot. Default is `false`.","description_kind":"plain","optional":true},"os_patch_schedule":{"type":"string","description":"Cron schedule for OS patching. This must be in the form of `0 0 * * *`.","description_kind":"plain","optional":true},"pause_cluster":{"type":"bool","description":"To pause and resume cluster state. Set to true to pause running cluster \u0026 false to resume it.","description_kind":"plain","optional":true},"skip_completion":{"type":"bool","description":"If `true`, the cluster will be created asynchronously. Default value is `false`.","description_kind":"plain","optional":true},"tags":{"type":["set","string"],"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.","description_kind":"plain","optional":true}},"block_types":{"backup_policy":{"nesting_mode":"list","block":{"attributes":{"backup_location_id":{"type":"string","description":"The ID of the backup location to use for the backup.","description_kind":"plain","required":true},"cluster_uids":{"type":["set","string"],"description":"The list of cluster UIDs to include in the backup. If `include_all_clusters` is set to `true`, then all clusters will be included.","description_kind":"plain","optional":true},"expiry_in_hour":{"type":"number","description":"The number of hours after which the backup will be deleted. For example, if the expiry is set to 24, the backup will be deleted after 24 hours.","description_kind":"plain","required":true},"include_all_clusters":{"type":"bool","description":"Whether to include all clusters in the backup. If set to false, only the clusters specified in `cluster_uids` will be included.","description_kind":"plain","optional":true},"include_cluster_resources":{"type":"bool","description":"Whether to include the cluster resources in the backup. If set to false, only the cluster configuration and disks will be backed up.","description_kind":"plain","optional":true},"include_disks":{"type":"bool","description":"Whether to include the disks in the backup. If set to false, only the cluster configuration will be backed up.","description_kind":"plain","optional":true},"namespaces":{"type":["set","string"],"description":"The list of Kubernetes namespaces to include in the backup. If not specified, all namespaces will be included.","description_kind":"plain","optional":true},"prefix":{"type":"string","description":"Prefix for the backup name. The backup name will be of the format \u003cprefix\u003e-\u003ccluster-name\u003e-\u003ctimestamp\u003e.","description_kind":"plain","required":true},"schedule":{"type":"string","description":"The schedule for the backup. The schedule is specified in cron format. For example, to run the backup every day at 1:00 AM, the schedule should be set to `0 1 * * *`.","description_kind":"plain","required":true}},"description":"The backup policy for the cluster. If not specified, no backups will be taken.","description_kind":"plain"},"max_items":1},"cloud_config":{"nesting_mode":"list","block":{"attributes":{"chart_name":{"type":"string","description_kind":"plain","optional":true},"chart_repo":{"type":"string","description_kind":"plain","optional":true},"chart_values":{"type":"string","description_kind":"plain","optional":true},"chart_version":{"type":"string","description_kind":"plain","optional":true},"k8s_version":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"cluster_profile":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The ID of the cluster profile.","description_kind":"plain","required":true}},"block_types":{"pack":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile. ","description_kind":"plain","required":true},"registry_uid":{"type":"string","description":"The registry UID of the pack. The registry UID is the unique identifier of the registry. This attribute is required if there is more than one registry that contains a pack with the same name. ","description_kind":"plain","optional":true},"tag":{"type":"string","description":"The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. ","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`.","description_kind":"plain","optional":true},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the [`spectrocloud_pack`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) data source. This value is required if the pack type is `spectro` and for `helm` if the chart is from a public helm registry.","description_kind":"plain","optional":true,"computed":true},"values":{"type":"string","description":"The values of the pack. The values are the configuration values of the pack. The values are specified in YAML format. ","description_kind":"plain","optional":true}},"block_types":{"manifest":{"nesting_mode":"list","block":{"attributes":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest. ","description_kind":"plain","required":true},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack. ","description_kind":"plain","required":true},"uid":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}}},"description":"For packs of type `spectro`, `helm`, and `manifest`, at least one pack must be specified.","description_kind":"plain"}}},"description_kind":"plain"}},"cluster_rbac_binding":{"nesting_mode":"list","block":{"attributes":{"namespace":{"type":"string","description":"The Kubernetes namespace of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"role":{"type":["map","string"],"description":"The role of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`.","description_kind":"plain","required":true}},"block_types":{"subjects":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the subject. Required if 'type' is set to 'User' or 'Group'.","description_kind":"plain","required":true},"namespace":{"type":"string","description":"The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description":"The RBAC binding for the cluster.","description_kind":"plain"}},"namespaces":{"nesting_mode":"list","block":{"attributes":{"images_blacklist":{"type":["list","string"],"description":"List of images to disallow for the namespace. For example, `['nginx:latest', 'redis:latest']`","description_kind":"plain","optional":true},"name":{"type":"string","description":"Name of the namespace. This is the name of the Kubernetes namespace in the cluster.","description_kind":"plain","required":true},"resource_allocation":{"type":["map","string"],"description":"Resource allocation for the namespace. This is a map containing the resource type and the resource value. For example, `{cpu_cores: '2', memory_MiB: '2048'}`","description_kind":"plain","required":true}},"description":"The namespaces for the cluster.","description_kind":"plain"}},"resources":{"nesting_mode":"list","block":{"attributes":{"max_cpu":{"type":"number","description_kind":"plain","optional":true},"max_mem_in_mb":{"type":"number","description_kind":"plain","optional":true},"max_storage_in_gb":{"type":"number","description_kind":"plain","optional":true},"min_cpu":{"type":"number","description_kind":"plain","optional":true},"min_mem_in_mb":{"type":"number","description_kind":"plain","optional":true},"min_storage_in_gb":{"type":"number","description_kind":"plain","optional":true}},"description_kind":"plain"}},"scan_policy":{"nesting_mode":"list","block":{"attributes":{"configuration_scan_schedule":{"type":"string","description":"The schedule for configuration scan.","description_kind":"plain","required":true},"conformance_scan_schedule":{"type":"string","description":"The schedule for conformance scan.","description_kind":"plain","required":true},"penetration_scan_schedule":{"type":"string","description":"The schedule for penetration scan.","description_kind":"plain","required":true}},"description":"The scan policy for the cluster.","description_kind":"plain"},"max_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":"A resource to manage a Palette Virtual Cluster.","description_kind":"plain"}},"spectrocloud_virtual_machine":{"version":0,"block":{"attributes":{"annotations":{"type":["map","string"],"description":"An unstructured key value map stored with the VM that may be used to store arbitrary metadata.","description_kind":"plain","optional":true,"computed":true},"base_vm_name":{"type":"string","description":"The name of the source virtual machine that a clone will be created of.","description_kind":"plain","optional":true},"cluster_context":{"type":"string","description":"Context of the cluster. Allowed values are `project`, `tenant`. Default value is `project`.","description_kind":"plain","optional":true},"cluster_uid":{"type":"string","description":"The cluster UID to which the virtual machine belongs to.","description_kind":"plain","required":true},"dns_policy":{"type":"string","description":"DNSPolicy defines how a pod's DNS will be configured.","description_kind":"plain","optional":true},"eviction_strategy":{"type":"string","description":"EvictionStrategy can be set to \"LiveMigrate\" if the VirtualMachineInstance should be migrated instead of shut-off in case of a node drain.","description_kind":"plain","optional":true},"generate_name":{"type":"string","description":"Prefix, used by the server, to generate a unique name ONLY IF the `name` field has not been provided. This value will also be combined with a unique suffix. Read more: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#idempotency","description_kind":"plain","optional":true},"generation":{"type":"number","description":"A sequence number representing a specific generation of the desired state.","description_kind":"plain","computed":true},"hostname":{"type":"string","description":"Specifies the hostname of the vmi.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"labels":{"type":["map","string"],"description":"Map of string keys and values that can be used to organize and categorize (scope and select). May match selectors of replication controllers and services.","description_kind":"plain","optional":true},"name":{"type":"string","description":"Name of the virtual machine, must be unique. Cannot be updated.","description_kind":"plain","required":true},"namespace":{"type":"string","description":"Namespace defines the space within, Name must be unique.","description_kind":"plain","optional":true},"node_selector":{"type":["map","string"],"description":"NodeSelector is a selector which must be true for the vmi to fit on a node. Selector which must match a node's labels for the vmi to be scheduled on that node.","description_kind":"plain","optional":true},"priority_class_name":{"type":"string","description":"If specified, indicates the pod's priority. If not specified, the pod priority will be default or zero if there is no default.","description_kind":"plain","optional":true},"resource_version":{"type":"string","description":"An opaque value that represents the internal version of this VM that can be used by clients to determine when VM has changed.","description_kind":"plain","computed":true},"run_on_launch":{"type":"bool","description":"If set to `true`, the virtual machine will be started when the cluster is launched. Default value is `true`.","description_kind":"plain","optional":true},"run_strategy":{"type":"string","description":"Running state indicates the requested running state of the VirtualMachineInstance, mutually exclusive with Running.","description_kind":"plain","optional":true},"scheduler_name":{"type":"string","description":"If specified, the VMI will be dispatched by specified scheduler. If not specified, the VMI will be dispatched by default scheduler.","description_kind":"plain","optional":true},"self_link":{"type":"string","description":"A URL representing this VM.","description_kind":"plain","computed":true},"subdomain":{"type":"string","description":"If specified, the fully qualified vmi hostname will be \"\u003chostname\u003e.\u003csubdomain\u003e.\u003cpod namespace\u003e.svc.\u003ccluster domain\u003e\".","description_kind":"plain","optional":true},"termination_grace_period_seconds":{"type":"number","description":"Grace period observed after signalling a VirtualMachineInstance to stop after which the VirtualMachineInstance is force terminated.","description_kind":"plain","optional":true},"uid":{"type":"string","description":"The unique in time and space value for this VM.","description_kind":"plain","computed":true},"vm_action":{"type":"string","description":"The action to be performed on the virtual machine. Valid values are: `start`, `stop`, `restart`, `pause`, `resume`, `migrate`. Default value is `start`.","description_kind":"plain","optional":true}},"block_types":{"affinity":{"nesting_mode":"list","block":{"block_types":{"node_affinity":{"nesting_mode":"list","block":{"block_types":{"preferred_during_scheduling_ignored_during_execution":{"nesting_mode":"list","block":{"attributes":{"weight":{"type":"number","description":"weight is in the range 1-100","description_kind":"plain","required":true}},"block_types":{"preference":{"nesting_mode":"list","block":{"block_types":{"match_expressions":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The label key that the selector applies to.","description_kind":"plain","optional":true},"operator":{"type":"string","description":"Operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.","description_kind":"plain","optional":true},"values":{"type":["set","string"],"description":"Values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.","description_kind":"plain","optional":true}},"description":"List of node selector requirements. The requirements are ANDed.","description_kind":"plain"}}},"description":"A node selector term, associated with the corresponding weight.","description_kind":"plain"},"min_items":1,"max_items":1}},"description":"The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, RequiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding 'weight' to the sum if the node matches the corresponding MatchExpressions; the node(s) with the highest sum are the most preferred.","description_kind":"plain"}},"required_during_scheduling_ignored_during_execution":{"nesting_mode":"list","block":{"block_types":{"node_selector_term":{"nesting_mode":"list","block":{"block_types":{"match_expressions":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The label key that the selector applies to.","description_kind":"plain","optional":true},"operator":{"type":"string","description":"Operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.","description_kind":"plain","optional":true},"values":{"type":["set","string"],"description":"Values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.","description_kind":"plain","optional":true}},"description":"List of node selector requirements. The requirements are ANDed.","description_kind":"plain"}}},"description":"List of node selector terms. The terms are ORed.","description_kind":"plain"}}},"description":"If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a node label update), the system may or may not try to eventually evict the pod from its node.","description_kind":"plain"},"max_items":1}},"description":"Node affinity scheduling rules for the pod.","description_kind":"plain"},"max_items":1},"pod_affinity":{"nesting_mode":"list","block":{"block_types":{"preferred_during_scheduling_ignored_during_execution":{"nesting_mode":"list","block":{"attributes":{"weight":{"type":"number","description":"weight associated with matching the corresponding podAffinityTerm, in the range 1-100","description_kind":"plain","required":true}},"block_types":{"pod_affinity_term":{"nesting_mode":"list","block":{"attributes":{"namespaces":{"type":["set","string"],"description":"namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means 'this pod's namespace'","description_kind":"plain","optional":true},"topology_key":{"type":"string","description":"empty topology key is interpreted by the scheduler as 'all topologies'","description_kind":"plain","optional":true}},"block_types":{"label_selector":{"nesting_mode":"list","block":{"attributes":{"match_labels":{"type":["map","string"],"description":"A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of `match_expressions`, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.","description_kind":"plain","optional":true}},"block_types":{"match_expressions":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The label key that the selector applies to.","description_kind":"plain","optional":true},"operator":{"type":"string","description":"A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`.","description_kind":"plain","optional":true},"values":{"type":["set","string"],"description":"An array of string values. If the operator is `In` or `NotIn`, the values array must be non-empty. If the operator is `Exists` or `DoesNotExist`, the values array must be empty. This array is replaced during a strategic merge patch.","description_kind":"plain","optional":true}},"description":"A list of label selector requirements. The requirements are ANDed.","description_kind":"plain"}}},"description":"A label query over a set of resources, in this case pods.","description_kind":"plain"}}},"description":"A pod affinity term, associated with the corresponding weight","description_kind":"plain"},"min_items":1,"max_items":1}},"description":"The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, RequiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding 'weight' to the sum if the node matches the corresponding MatchExpressions; the node(s) with the highest sum are the most preferred.","description_kind":"plain"}},"required_during_scheduling_ignored_during_execution":{"nesting_mode":"list","block":{"attributes":{"namespaces":{"type":["set","string"],"description":"namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means 'this pod's namespace'","description_kind":"plain","optional":true},"topology_key":{"type":"string","description":"empty topology key is interpreted by the scheduler as 'all topologies'","description_kind":"plain","optional":true}},"block_types":{"label_selector":{"nesting_mode":"list","block":{"attributes":{"match_labels":{"type":["map","string"],"description":"A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of `match_expressions`, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.","description_kind":"plain","optional":true}},"block_types":{"match_expressions":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The label key that the selector applies to.","description_kind":"plain","optional":true},"operator":{"type":"string","description":"A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`.","description_kind":"plain","optional":true},"values":{"type":["set","string"],"description":"An array of string values. If the operator is `In` or `NotIn`, the values array must be non-empty. If the operator is `Exists` or `DoesNotExist`, the values array must be empty. This array is replaced during a strategic merge patch.","description_kind":"plain","optional":true}},"description":"A list of label selector requirements. The requirements are ANDed.","description_kind":"plain"}}},"description":"A label query over a set of resources, in this case pods.","description_kind":"plain"}}},"description":"If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each PodAffinityTerm are intersected, i.e. all terms must be satisfied.","description_kind":"plain"}}},"description":"Inter-pod topological affinity. rules that specify that certain pods should be placed in the same topological domain (e.g. same node, same rack, same zone, same power domain, etc.)","description_kind":"plain"},"max_items":1},"pod_anti_affinity":{"nesting_mode":"list","block":{"block_types":{"preferred_during_scheduling_ignored_during_execution":{"nesting_mode":"list","block":{"attributes":{"weight":{"type":"number","description":"weight associated with matching the corresponding podAffinityTerm, in the range 1-100","description_kind":"plain","required":true}},"block_types":{"pod_affinity_term":{"nesting_mode":"list","block":{"attributes":{"namespaces":{"type":["set","string"],"description":"namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means 'this pod's namespace'","description_kind":"plain","optional":true},"topology_key":{"type":"string","description":"empty topology key is interpreted by the scheduler as 'all topologies'","description_kind":"plain","optional":true}},"block_types":{"label_selector":{"nesting_mode":"list","block":{"attributes":{"match_labels":{"type":["map","string"],"description":"A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of `match_expressions`, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.","description_kind":"plain","optional":true}},"block_types":{"match_expressions":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The label key that the selector applies to.","description_kind":"plain","optional":true},"operator":{"type":"string","description":"A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`.","description_kind":"plain","optional":true},"values":{"type":["set","string"],"description":"An array of string values. If the operator is `In` or `NotIn`, the values array must be non-empty. If the operator is `Exists` or `DoesNotExist`, the values array must be empty. This array is replaced during a strategic merge patch.","description_kind":"plain","optional":true}},"description":"A list of label selector requirements. The requirements are ANDed.","description_kind":"plain"}}},"description":"A label query over a set of resources, in this case pods.","description_kind":"plain"}}},"description":"A pod affinity term, associated with the corresponding weight","description_kind":"plain"},"min_items":1,"max_items":1}},"description":"The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, RequiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding 'weight' to the sum if the node matches the corresponding MatchExpressions; the node(s) with the highest sum are the most preferred.","description_kind":"plain"}},"required_during_scheduling_ignored_during_execution":{"nesting_mode":"list","block":{"attributes":{"namespaces":{"type":["set","string"],"description":"namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means 'this pod's namespace'","description_kind":"plain","optional":true},"topology_key":{"type":"string","description":"empty topology key is interpreted by the scheduler as 'all topologies'","description_kind":"plain","optional":true}},"block_types":{"label_selector":{"nesting_mode":"list","block":{"attributes":{"match_labels":{"type":["map","string"],"description":"A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of `match_expressions`, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.","description_kind":"plain","optional":true}},"block_types":{"match_expressions":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The label key that the selector applies to.","description_kind":"plain","optional":true},"operator":{"type":"string","description":"A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`.","description_kind":"plain","optional":true},"values":{"type":["set","string"],"description":"An array of string values. If the operator is `In` or `NotIn`, the values array must be non-empty. If the operator is `Exists` or `DoesNotExist`, the values array must be empty. This array is replaced during a strategic merge patch.","description_kind":"plain","optional":true}},"description":"A list of label selector requirements. The requirements are ANDed.","description_kind":"plain"}}},"description":"A label query over a set of resources, in this case pods.","description_kind":"plain"}}},"description":"If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each PodAffinityTerm are intersected, i.e. all terms must be satisfied.","description_kind":"plain"}}},"description":"Inter-pod topological affinity. rules that specify that certain pods should be placed in the same topological domain (e.g. same node, same rack, same zone, same power domain, etc.)","description_kind":"plain"},"max_items":1}},"description":"Optional pod scheduling constraints.","description_kind":"plain"},"max_items":1},"cpu":{"nesting_mode":"list","block":{"attributes":{"cores":{"type":"number","description":"Cores is the number of cores inside the vmi. Must be a value greater or equal 1","description_kind":"plain","optional":true},"sockets":{"type":"number","description":"Sockets is the number of sockets inside the vmi. Must be a value greater or equal 1.","description_kind":"plain","optional":true},"threads":{"type":"number","description":"Threads is the number of threads inside the vmi. Must be a value greater or equal 1.","description_kind":"plain","optional":true}},"description":"CPU allows to specifying the CPU topology. Valid resource keys are \"cores\" , \"sockets\" and \"threads\"","description_kind":"plain"},"max_items":1},"data_volume_templates":{"nesting_mode":"list","block":{"block_types":{"metadata":{"nesting_mode":"list","block":{"attributes":{"annotations":{"type":["map","string"],"description":"An unstructured key value map stored with the DataVolume that may be used to store arbitrary metadata. More info: http://kubernetes.io/docs/user-guide/annotations","description_kind":"plain","optional":true,"computed":true},"generation":{"type":"number","description":"A sequence number representing a specific generation of the desired state.","description_kind":"plain","computed":true},"labels":{"type":["map","string"],"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the DataVolume. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels","description_kind":"plain","optional":true},"name":{"type":"string","description":"Name of the DataVolume, must be unique. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names","description_kind":"plain","optional":true,"computed":true},"namespace":{"type":"string","description":"Namespace defines the space within which name of the DataVolume must be unique.","description_kind":"plain","optional":true},"resource_version":{"type":"string","description":"An opaque value that represents the internal version of this DataVolume that can be used by clients to determine when DataVolume has changed. Read more: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency","description_kind":"plain","computed":true},"self_link":{"type":"string","description":"A URL representing this DataVolume.","description_kind":"plain","computed":true},"uid":{"type":"string","description":"The unique in time and space value for this DataVolume. More info: http://kubernetes.io/docs/user-guide/identifiers#uids","description_kind":"plain","computed":true}},"description":"Standard DataVolume's metadata. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata","description_kind":"plain"},"min_items":1,"max_items":1},"spec":{"nesting_mode":"list","block":{"attributes":{"content_type":{"type":"string","description":"ContentType options: \"kubevirt\", \"archive\".","description_kind":"plain","optional":true}},"block_types":{"pvc":{"nesting_mode":"list","block":{"attributes":{"access_modes":{"type":["set","string"],"description":"A set of the desired access modes the volume should have. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#access-modes-1","description_kind":"plain","required":true},"storage_class_name":{"type":"string","description":"Name of the storage class requested by the claim","description_kind":"plain","optional":true,"computed":true},"volume_mode":{"type":"string","description":"volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec.","description_kind":"plain","optional":true,"computed":true},"volume_name":{"type":"string","description":"The binding reference to the PersistentVolume backing this claim.","description_kind":"plain","optional":true,"computed":true}},"block_types":{"resources":{"nesting_mode":"list","block":{"attributes":{"limits":{"type":["map","string"],"description":"Map describing the maximum amount of compute resources allowed. More info: http://kubernetes.io/docs/user-guide/compute-resources/","description_kind":"plain","optional":true},"requests":{"type":["map","string"],"description":"Map describing the minimum amount of compute resources required. If this is omitted for a container, it defaults to `limits` if that is explicitly specified, otherwise to an implementation-defined value. More info: http://kubernetes.io/docs/user-guide/compute-resources/","description_kind":"plain","optional":true}},"description":"A list of the minimum resources the volume should have. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#resources","description_kind":"plain"},"min_items":1,"max_items":1},"selector":{"nesting_mode":"list","block":{"attributes":{"match_labels":{"type":["map","string"],"description":"A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of `match_expressions`, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.","description_kind":"plain","optional":true}},"block_types":{"match_expressions":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The label key that the selector applies to.","description_kind":"plain","optional":true},"operator":{"type":"string","description":"A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`.","description_kind":"plain","optional":true},"values":{"type":["set","string"],"description":"An array of string values. If the operator is `In` or `NotIn`, the values array must be non-empty. If the operator is `Exists` or `DoesNotExist`, the values array must be empty. This array is replaced during a strategic merge patch.","description_kind":"plain","optional":true}},"description":"A list of label selector requirements. The requirements are ANDed.","description_kind":"plain"}}},"description":"A label query over volumes to consider for binding.","description_kind":"plain"},"max_items":1}},"description":"PVC is a pointer to the PVC Spec we want to use.","description_kind":"plain"},"min_items":1,"max_items":1},"source":{"nesting_mode":"list","block":{"block_types":{"blank":{"nesting_mode":"list","block":{"description":"DataVolumeSourceBlank provides the parameters to create a Data Volume from an empty source.","description_kind":"plain"},"max_items":1},"http":{"nesting_mode":"list","block":{"attributes":{"cert_config_map":{"type":"string","description":"Cert_config_map provides a reference to the Registry certs.","description_kind":"plain","optional":true},"secret_ref":{"type":"string","description":"Secret_ref provides the secret reference needed to access the HTTP source.","description_kind":"plain","optional":true},"url":{"type":"string","description":"url is the URL of the http source.","description_kind":"plain","optional":true}},"description":"DataVolumeSourceHTTP provides the parameters to create a Data Volume from an HTTP source.","description_kind":"plain"},"max_items":1},"pvc":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the PVC.","description_kind":"plain","optional":true},"namespace":{"type":"string","description":"The namespace which the PVC located in.","description_kind":"plain","optional":true}},"description":"DataVolumeSourcePVC provides the parameters to create a Data Volume from an existing PVC.","description_kind":"plain"},"max_items":1},"registry":{"nesting_mode":"list","block":{"attributes":{"image_url":{"type":"string","description":"The registry URL of the image to download.","description_kind":"plain","optional":true}},"description":"DataVolumeSourceRegistry provides the parameters to create a Data Volume from an existing PVC.","description_kind":"plain"},"max_items":1}},"description":"Source is the src of the data for the requested DataVolume.","description_kind":"plain"},"max_items":1}},"description":"DataVolumeSpec defines our specification for a DataVolume type","description_kind":"plain"},"min_items":1,"max_items":1}},"description":"dataVolumeTemplates is a list of dataVolumes that the VirtualMachineInstance template can reference.","description_kind":"plain"}},"disk":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"Name is the device name","description_kind":"plain","required":true},"serial":{"type":"string","description":"Serial provides the ability to specify a serial number for the disk device.","description_kind":"plain","optional":true}},"block_types":{"disk_device":{"nesting_mode":"list","block":{"block_types":{"disk":{"nesting_mode":"list","block":{"attributes":{"bus":{"type":"string","description":"Bus indicates the type of disk device to emulate.","description_kind":"plain","required":true},"pci_address":{"type":"string","description":"If specified, the virtual disk will be placed on the guests pci address with the specifed PCI address. For example: 0000:81:01.10","description_kind":"plain","optional":true},"read_only":{"type":"bool","description":"ReadOnly. Defaults to false.","description_kind":"plain","optional":true}},"description":"Attach a volume as a disk to the vmi.","description_kind":"plain"}}},"description":"DiskDevice specifies as which device the disk should be added to the guest.","description_kind":"plain"},"min_items":1}},"description":"Disks describes disks, cdroms, floppy and luns which are connected to the vmi.","description_kind":"plain"}},"interface":{"nesting_mode":"list","block":{"attributes":{"interface_binding_method":{"type":"string","description":"Represents the Interface model, One of: e1000, e1000e, ne2k_pci, pcnet, rtl8139, virtio. Defaults to virtio.","description_kind":"plain","required":true},"model":{"type":"string","description":"Represents the method which will be used to connect the interface to the guest.","description_kind":"plain","optional":true},"name":{"type":"string","description":"Logical name of the interface as well as a reference to the associated networks.","description_kind":"plain","required":true}},"description":"Interfaces describe network interfaces which are added to the vmi.","description_kind":"plain"}},"liveness_probe":{"nesting_mode":"list","block":{"description":"Specification of the desired behavior of the VirtualMachineInstance on the host.","description_kind":"plain"},"max_items":1},"memory":{"nesting_mode":"list","block":{"attributes":{"guest":{"type":"string","description":"Guest is the amount of memory allocated to the vmi. This value must be less than or equal to the limit if specified.","description_kind":"plain","optional":true},"hugepages":{"type":"string","description":"Hugepages attribute specifies the hugepage size, for x86_64 architecture valid values are 1Gi and 2Mi.","description_kind":"plain","optional":true}},"description":"Memory allows specifying the vmi memory features.","description_kind":"plain"},"max_items":1},"network":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"Network name.","description_kind":"plain","required":true}},"block_types":{"network_source":{"nesting_mode":"list","block":{"block_types":{"multus":{"nesting_mode":"list","block":{"attributes":{"default":{"type":"bool","description":"Select the default network and add it to the multus-cni.io/default-network annotation.","description_kind":"plain","optional":true},"network_name":{"type":"string","description":"References to a NetworkAttachmentDefinition CRD object. Format: \u003cnetworkName\u003e, \u003cnamespace\u003e/\u003cnetworkName\u003e. If namespace is not specified, VMI namespace is assumed.","description_kind":"plain","required":true}},"description":"Multus network.","description_kind":"plain"},"max_items":1},"pod":{"nesting_mode":"list","block":{"attributes":{"vm_network_cidr":{"type":"string","description":"CIDR for vm network.","description_kind":"plain","optional":true}},"description":"Pod network.","description_kind":"plain"},"max_items":1}},"description":"NetworkSource represents the network type and the source interface that should be connected to the virtual machine.","description_kind":"plain"},"max_items":1}},"description":"List of networks that can be attached to a vm's virtual interface.","description_kind":"plain"}},"pod_dns_config":{"nesting_mode":"list","block":{"attributes":{"nameservers":{"type":["list","string"],"description":"A list of DNS name server IP addresses. This will be appended to the base nameservers generated from DNSPolicy. Duplicated nameservers will be removed.","description_kind":"plain","optional":true},"searches":{"type":["list","string"],"description":"A list of DNS search domains for host-name lookup. This will be appended to the base search paths generated from DNSPolicy. Duplicated search paths will be removed.","description_kind":"plain","optional":true}},"block_types":{"option":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"Name of the option.","description_kind":"plain","required":true},"value":{"type":"string","description":"Value of the option. Optional: Defaults to empty.","description_kind":"plain","optional":true}},"description":"A list of DNS resolver options. This will be merged with the base options generated from DNSPolicy. Duplicated entries will be removed. Resolution options given in Options will override those that appear in the base DNSPolicy.","description_kind":"plain"}}},"description":"Specifies the DNS parameters of a pod. Parameters specified here will be merged to the generated DNS configuration based on DNSPolicy. Optional: Defaults to empty","description_kind":"plain"},"max_items":1},"readiness_probe":{"nesting_mode":"list","block":{"description":"Specification of the desired behavior of the VirtualMachineInstance on the host.","description_kind":"plain"},"max_items":1},"resources":{"nesting_mode":"list","block":{"attributes":{"limits":{"type":["map","string"],"description":"Requests is the maximum amount of compute resources allowed. Valid resource keys are \"memory\" and \"cpu\"","description_kind":"plain","optional":true},"over_commit_guest_overhead":{"type":"bool","description":"Don't ask the scheduler to take the guest-management overhead into account. Instead put the overhead only into the container's memory limit. This can lead to crashes if all memory is in use on a node. Defaults to false.","description_kind":"plain","optional":true},"requests":{"type":["map","string"],"description":"Requests is a description of the initial vmi resources.","description_kind":"plain","optional":true}},"description":"Resources describes the Compute Resources required by this vmi.","description_kind":"plain"},"min_items":1,"max_items":1},"status":{"nesting_mode":"list","block":{"attributes":{"created":{"type":"bool","description":"Created indicates if the virtual machine is created in the cluster.","description_kind":"plain","optional":true},"ready":{"type":"bool","description":"Ready indicates if the virtual machine is running and ready.","description_kind":"plain","optional":true}},"block_types":{"conditions":{"nesting_mode":"list","block":{"attributes":{"message":{"type":"string","description":"Condition message.","description_kind":"plain","optional":true},"reason":{"type":"string","description":"Condition reason.","description_kind":"plain","optional":true},"status":{"type":"string","description":"ConditionStatus represents the status of this VM condition, if the VM currently in the condition.","description_kind":"plain","optional":true},"type":{"type":"string","description":"VirtualMachineConditionType represent the type of the VM as concluded from its VMi status.","description_kind":"plain","optional":true}},"description":"Hold the state information of the VirtualMachine and its VirtualMachineInstance.","description_kind":"plain"},"min_items":1},"state_change_requests":{"nesting_mode":"list","block":{"attributes":{"action":{"type":"string","description":"Indicates the type of action that is requested. e.g. Start or Stop.","description_kind":"plain","optional":true},"data":{"type":["map","string"],"description":"Provides additional data in order to perform the Action.","description_kind":"plain","optional":true},"uid":{"type":"string","description":"Indicates the UUID of an existing Virtual Machine Instance that this change request applies to -- if applicable.","description_kind":"plain","optional":true}},"description":"StateChangeRequests indicates a list of actions that should be taken on a VMI.","description_kind":"plain"},"min_items":1}},"description":"VirtualMachineStatus represents the status returned by the controller to describe how the VirtualMachine is doing.","description_kind":"plain"},"max_items":1},"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"}},"tolerations":{"nesting_mode":"list","block":{"attributes":{"effect":{"type":"string","description":"Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.","description_kind":"plain","optional":true},"key":{"type":"string","description":"Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.","description_kind":"plain","optional":true},"operator":{"type":"string","description":"Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.","description_kind":"plain","optional":true},"toleration_seconds":{"type":"string","description":"TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.","description_kind":"plain","optional":true},"value":{"type":"string","description":"Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.","description_kind":"plain","optional":true}},"description":"If specified, the pod's toleration. Optional: Defaults to empty","description_kind":"plain"}},"volume":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"Volume's name.","description_kind":"plain","required":true}},"block_types":{"volume_source":{"nesting_mode":"list","block":{"block_types":{"cloud_init_config_drive":{"nesting_mode":"list","block":{"attributes":{"network_data":{"type":"string","description":"NetworkData contains config drive inline cloud-init networkdata.","description_kind":"plain","optional":true},"network_data_base64":{"type":"string","description":"NetworkDataBase64 contains config drive cloud-init networkdata as a base64 encoded string.","description_kind":"plain","optional":true},"user_data":{"type":"string","description":"UserData contains config drive inline cloud-init userdata.","description_kind":"plain","optional":true},"user_data_base64":{"type":"string","description":"UserDataBase64 contains config drive cloud-init userdata as a base64 encoded string.","description_kind":"plain","optional":true}},"block_types":{"network_data_secret_ref":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"Name of the referent.","description_kind":"plain","required":true}},"description":"NetworkDataSecretRef references a k8s secret that contains config drive networkdata.","description_kind":"plain"},"max_items":1},"user_data_secret_ref":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"Name of the referent.","description_kind":"plain","required":true}},"description":"UserDataSecretRef references a k8s secret that contains config drive userdata.","description_kind":"plain"},"max_items":1}},"description":"CloudInitConfigDrive represents a cloud-init Config Drive user-data source.","description_kind":"plain"},"max_items":1},"cloud_init_no_cloud":{"nesting_mode":"set","block":{"attributes":{"user_data":{"type":"string","description":"The user data to use for the cloud-init no cloud disk. This can be a local file path, a remote URL, or a registry URL.","description_kind":"plain","required":true}},"description":"Used to specify a cloud-init `noCloud` image. The image is expected to contain a disk image in a supported format. The disk image is extracted from the cloud-init `noCloud `image and used as the disk for the VM","description_kind":"plain"}},"config_map":{"nesting_mode":"list","block":{"attributes":{"default_mode":{"type":"number","description":"Optional: mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.","description_kind":"plain","optional":true}},"block_types":{"items":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description_kind":"plain","optional":true}},"description":"If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.","description_kind":"plain"}}},"description":"ConfigMapVolumeSource adapts a ConfigMap into a volume.","description_kind":"plain"},"max_items":1},"container_disk":{"nesting_mode":"set","block":{"attributes":{"image_url":{"type":"string","description":"The URL of the container image to use as the disk. This can be a local file path, a remote URL, or a registry URL.","description_kind":"plain","required":true}},"description":"A container disk is a disk that is backed by a container image. The container image is expected to contain a disk image in a supported format. The disk image is extracted from the container image and used as the disk for the VM.","description_kind":"plain"}},"data_volume":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"Name represents the name of the DataVolume in the same namespace.","description_kind":"plain","required":true}},"description":"DataVolume represents the dynamic creation a PVC for this volume as well as the process of populating that PVC with a disk image.","description_kind":"plain"},"max_items":1},"empty_disk":{"nesting_mode":"list","block":{"attributes":{"capacity":{"type":"string","description":"Capacity of the sparse disk.","description_kind":"plain","required":true}},"description":"EmptyDisk represents a temporary disk which shares the VM's lifecycle.","description_kind":"plain"},"max_items":1},"ephemeral":{"nesting_mode":"list","block":{"block_types":{"persistent_volume_claim":{"nesting_mode":"list","block":{"attributes":{"claim_name":{"type":"string","description":"ClaimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims","description_kind":"plain","required":true},"read_only":{"type":"bool","description":"Will force the ReadOnly setting in VolumeMounts. Default false.","description_kind":"plain","optional":true}},"description":"PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace.","description_kind":"plain"},"max_items":1}},"description":"EphemeralVolumeSource represents a volume that is populated with the contents of a pod. Ephemeral volumes do not support ownership management or SELinux relabeling.","description_kind":"plain"},"max_items":1},"host_disk":{"nesting_mode":"list","block":{"attributes":{"path":{"type":"string","description":"Path of the disk.","description_kind":"plain","required":true},"type":{"type":"string","description":"Type of the disk, supported values are disk, directory, socket, char, block.","description_kind":"plain","required":true}},"description":"HostDisk represents a disk created on the host.","description_kind":"plain"},"max_items":1},"persistent_volume_claim":{"nesting_mode":"list","block":{"attributes":{"claim_name":{"type":"string","description":"ClaimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims","description_kind":"plain","required":true},"read_only":{"type":"bool","description":"Will force the ReadOnly setting in VolumeMounts. Default false.","description_kind":"plain","optional":true}},"description":"PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace.","description_kind":"plain"},"max_items":1},"service_account":{"nesting_mode":"list","block":{"attributes":{"service_account_name":{"type":"string","description":"Name of the service account in the pod's namespace to use.","description_kind":"plain","required":true}},"description":"ServiceAccountVolumeSource represents a reference to a service account.","description_kind":"plain"},"max_items":1}},"description":"VolumeSource represents the location and type of the mounted volume. Defaults to Disk, if no type is specified.","description_kind":"plain"},"min_items":1,"max_items":1}},"description":"Specification of the desired behavior of the VirtualMachineInstance on the host.","description_kind":"plain"}}},"description_kind":"plain"}},"spectrocloud_workspace":{"version":2,"block":{"attributes":{"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},"tags":{"type":["set","string"],"description_kind":"plain","optional":true}},"block_types":{"backup_policy":{"nesting_mode":"list","block":{"attributes":{"backup_location_id":{"type":"string","description":"The ID of the backup location to use for the backup.","description_kind":"plain","required":true},"cluster_uids":{"type":["set","string"],"description":"The list of cluster UIDs to include in the backup. If `include_all_clusters` is set to `true`, then all clusters will be included.","description_kind":"plain","optional":true},"expiry_in_hour":{"type":"number","description":"The number of hours after which the backup will be deleted. For example, if the expiry is set to 24, the backup will be deleted after 24 hours.","description_kind":"plain","required":true},"include_all_clusters":{"type":"bool","description":"Whether to include all clusters in the backup. If set to false, only the clusters specified in `cluster_uids` will be included.","description_kind":"plain","optional":true},"include_cluster_resources":{"type":"bool","description":"Whether to include the cluster resources in the backup. If set to false, only the cluster configuration and disks will be backed up.","description_kind":"plain","optional":true},"include_disks":{"type":"bool","description":"Whether to include the disks in the backup. If set to false, only the cluster configuration will be backed up.","description_kind":"plain","optional":true},"namespaces":{"type":["set","string"],"description":"The list of Kubernetes namespaces to include in the backup. If not specified, all namespaces will be included.","description_kind":"plain","optional":true},"prefix":{"type":"string","description":"Prefix for the backup name. The backup name will be of the format \u003cprefix\u003e-\u003ccluster-name\u003e-\u003ctimestamp\u003e.","description_kind":"plain","required":true},"schedule":{"type":"string","description":"The schedule for the backup. The schedule is specified in cron format. For example, to run the backup every day at 1:00 AM, the schedule should be set to `0 1 * * *`.","description_kind":"plain","required":true}},"description":"The backup policy for the cluster. If not specified, no backups will be taken.","description_kind":"plain"},"max_items":1},"cluster_rbac_binding":{"nesting_mode":"list","block":{"attributes":{"namespace":{"type":"string","description":"The Kubernetes namespace of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"role":{"type":["map","string"],"description":"The role of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`.","description_kind":"plain","required":true}},"block_types":{"subjects":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the subject. Required if 'type' is set to 'User' or 'Group'.","description_kind":"plain","required":true},"namespace":{"type":"string","description":"The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description":"The RBAC binding for the cluster.","description_kind":"plain"}},"clusters":{"nesting_mode":"set","block":{"attributes":{"uid":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"},"min_items":1},"namespaces":{"nesting_mode":"list","block":{"attributes":{"images_blacklist":{"type":["list","string"],"description":"List of images to disallow for the namespace. For example, `['nginx:latest', 'redis:latest']`","description_kind":"plain","optional":true},"name":{"type":"string","description":"Name of the namespace. This is the name of the Kubernetes namespace in the cluster.","description_kind":"plain","required":true},"resource_allocation":{"type":["map","string"],"description":"Resource allocation for the namespace. This is a map containing the resource type and the resource value. For example, `{cpu_cores: '2', memory_MiB: '2048'}`","description_kind":"plain","required":true}},"description":"The namespaces for the cluster.","description_kind":"plain"}}},"description_kind":"plain"}}},"data_source_schemas":{"spectrocloud_appliance":{"version":2,"block":{"attributes":{"architecture":{"type":"string","description":"The architecture of the appliance. Supported values are: 'amd64', and 'arm64'. ","description_kind":"plain","computed":true},"health":{"type":"string","description":"The health of the appliance. Supported values are: 'healthy', and 'unhealthy'. ","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"The name of the appliance. ","description_kind":"plain","required":true},"status":{"type":"string","description":"The status of the appliance. Supported values are: 'ready', 'in-use', and 'unpaired'. ","description_kind":"plain","computed":true},"tags":{"type":["map","string"],"description":"The tags of the appliance.","description_kind":"plain","computed":true}},"description":"Provides details about a single appliance used for Edge Native cluster provisioning.","description_kind":"plain"}},"spectrocloud_appliances":{"version":0,"block":{"attributes":{"architecture":{"type":"string","description":"The architecture of the appliance. Supported values are: 'amd64', and 'arm64'. If not specified, all appliances are returned.","description_kind":"plain","optional":true},"context":{"type":"string","description":"The context of the appliances. Allowed values are `project` or `tenant`. Defaults to `project`.If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"health":{"type":"string","description":"The health of the appliance. Supported values are: 'healthy', and 'unhealthy'. If not specified, all appliances are returned.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ids":{"type":["list","string"],"description":"The unique ids of the appliances. This is a computed field and is not required to be set.","description_kind":"plain","computed":true},"status":{"type":"string","description":"The status of the appliance. Supported values are: 'ready', 'in-use', and 'unpaired'. If not specified, all appliances are returned.","description_kind":"plain","optional":true},"tags":{"type":["map","string"],"description":"A list of tags to filter the appliances.","description_kind":"plain","optional":true}},"description":"Provides details about a set of appliances used for Edge Native cluster provisioning. Various attributes could be used to search for appliances like `tags`, `status`, `health`, and `architecture`.","description_kind":"plain"}},"spectrocloud_application_profile":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the application profile","description_kind":"plain","required":true},"version":{"type":"string","description":"The version of the app profile. Default value is '1.0.0'.","description_kind":"plain","optional":true,"computed":true}},"description":"Use this data source to get the details of an existing application profile.","description_kind":"plain"}},"spectrocloud_backup_storage_location":{"version":2,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"spectrocloud_cloudaccount_aws":{"version":0,"block":{"attributes":{"depends":{"type":"string","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description":"ID of the AWS cloud account registered in Palette.","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the AWS cloud account registered in Palette.","description_kind":"plain","optional":true,"computed":true}},"description":"A data source for retrieving information about an AWS cloud account registered in Palette.","description_kind":"plain"}},"spectrocloud_cloudaccount_azure":{"version":0,"block":{"attributes":{"azure_client_id":{"type":"string","description":"The unique client ID from Azure Management Portal.","description_kind":"plain","computed":true},"azure_tenant_id":{"type":"string","description":"The tenant ID of the Azure cloud account registered in Palette.","description_kind":"plain","computed":true},"disable_properties_request":{"type":"bool","description":"The status of the disable properties option.","description_kind":"plain","computed":true},"id":{"type":"string","description":"ID of the Azure cloud account registered in Palette.","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the Azure cloud account registered in Palette.","description_kind":"plain","optional":true,"computed":true},"tenant_name":{"type":"string","description":"The name of the Azure tenant.","description_kind":"plain","computed":true}},"description":"A data source for retrieving information about an Azure cloud account registered in Palette.","description_kind":"plain"}},"spectrocloud_cloudaccount_custom":{"version":0,"block":{"attributes":{"cloud":{"type":"string","description":"The cloud provider name.","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"spectrocloud_cloudaccount_gcp":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"ID of the GCP cloud account registered in Palette.","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the GCP cloud account registered in Palette.","description_kind":"plain","optional":true,"computed":true}},"description":"A data source for retrieving information about a GCP cloud account registered in Palette.","description_kind":"plain"}},"spectrocloud_cloudaccount_maas":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"maas_api_endpoint":{"type":"string","description_kind":"plain","computed":true},"maas_api_key":{"type":"string","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"spectrocloud_cloudaccount_openstack":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"spectrocloud_cloudaccount_tencent":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"tencent_secret_id":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"spectrocloud_cloudaccount_vsphere":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"spectrocloud_cluster":{"version":0,"block":{"attributes":{"admin_kube_config":{"type":"string","description_kind":"plain","computed":true},"context":{"type":"string","description":"The context of the cluster. Allowed values are `project` or `tenant`. Defaults to `project`.If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kube_config":{"type":"string","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true},"virtual":{"type":"bool","description":"If set to true, the cluster will treated as a virtual cluster. Defaults to `false`.","description_kind":"plain","optional":true}},"description_kind":"plain"}},"spectrocloud_cluster_group":{"version":2,"block":{"attributes":{"context":{"type":"string","description":"The context of where the cluster group is located. Allowed values are `system` or `tenant`. Defaults to `tenant`.If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"The name of the cluster group.","description_kind":"plain","required":true}},"description_kind":"plain"}},"spectrocloud_cluster_profile":{"version":0,"block":{"attributes":{"context":{"type":"string","description":"Cluster profile context. Allowed values are `project` or `tenant`. Defaults to `project`.If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"pack":{"type":["list",["object",{"manifest":["list",["object",{"content":"string","name":"string","uid":"string"}]],"name":"string","registry_uid":"string","tag":"string","type":"string","uid":"string","values":"string"}]],"description_kind":"plain","computed":true},"version":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"spectrocloud_filter":{"version":2,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"metadata":{"type":["list",["object",{"annotations":["map","string"],"labels":["map","string"],"name":"string"}]],"description_kind":"plain","computed":true},"name":{"type":"string","description":"The name of the filter.","description_kind":"plain","required":true},"spec":{"type":["list",["object",{"filter_group":["list",["object",{"conjunction":"string","filters":["list",["object",{"key":"string","negation":"bool","operator":"string","values":["list","string"]}]]}]]}]],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"spectrocloud_ippool":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"The name of the IP pool.","description_kind":"plain","required":true},"private_cloud_gateway_id":{"type":"string","description":"The ID of the private cloud gateway.","description_kind":"plain","required":true}},"description_kind":"plain"}},"spectrocloud_pack":{"version":0,"block":{"attributes":{"cloud":{"type":["set","string"],"description":"Filter results by cloud type. If not provided, all cloud types are returned.","description_kind":"plain","optional":true,"computed":true},"filters":{"type":"string","description":"Filters to apply when searching for a pack. This is a string of the form 'key1=value1' with 'AND', 'OR` operators. Refer to the Palette API [pack search API endpoint documentation](https://docs.spectrocloud.com/api/v1/v-1-packs-search/) for filter examples..","description_kind":"plain","optional":true},"id":{"type":"string","description":"The UID of the pack returned.","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"The name of the pack to search for.","description_kind":"plain","optional":true,"computed":true},"registry_uid":{"type":"string","description":"The UID of the registry to search for the pack in. This is a required parameter starting from version 0.21.0.","description_kind":"plain","optional":true,"computed":true},"type":{"type":"string","description":"The type of pack to search for. Supported values are `helm`, `manifest`, `container`, `operator-instance`.","description_kind":"plain","optional":true,"computed":true},"values":{"type":"string","description":"The YAML values of the pack returned as string.","description_kind":"plain","computed":true},"version":{"type":"string","description":"The version of the pack to search for.","description_kind":"plain","optional":true,"computed":true}},"description":"This data resource provides the ability to search for a pack in the Palette registries. It supports more advanced search criteria than the `pack_simple` data source.","description_kind":"plain"}},"spectrocloud_pack_simple":{"version":0,"block":{"attributes":{"context":{"type":"string","description":"Indicates in which context registry should be searched for the pack values. Allowed values are `system`, `project` or `tenant`. Defaults to `project`.If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"The name of the pack.","description_kind":"plain","required":true},"registry_uid":{"type":"string","description":"The unique identifier of the registry the pack belongs to. This is a required parameter starting from version 0.21.0","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of Pack. Allowed values are `helm`, `manifest`, `container` or `operator-instance`.","description_kind":"plain","required":true},"values":{"type":"string","description":"This is a stringified YAML object containing the pack configuration details. ","description_kind":"plain","computed":true},"version":{"type":"string","description":"The version of the pack.","description_kind":"plain","optional":true}},"description":"This data resource provides a simpler user experience for searching for a pack in Palette registries.","description_kind":"plain"}},"spectrocloud_private_cloud_gateway":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The ID of Private Cloud Gateway.","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"The Name of Private Cloud Gateway.","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"spectrocloud_project":{"version":2,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"spectrocloud_registry":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"spectrocloud_registry_helm":{"version":2,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"spectrocloud_registry_oci":{"version":2,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"spectrocloud_registry_pack":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"spectrocloud_role":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"spectrocloud_user":{"version":0,"block":{"attributes":{"email":{"type":"string","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"spectrocloud_workspace":{"version":2,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}}}}}} +{"format_version":"1.0","provider_schemas":{"registry.terraform.io/spectrocloud/spectrocloud":{"provider":{"version":0,"block":{"attributes":{"api_key":{"type":"string","description":"The Spectro Cloud API key. Can also be set with the `SPECTROCLOUD_APIKEY` environment variable.","description_kind":"plain","optional":true,"sensitive":true},"host":{"type":"string","description":"The Spectro Cloud API host url. Can also be set with the `SPECTROCLOUD_HOST` environment variable. Defaults to https://api.spectrocloud.com","description_kind":"plain","optional":true},"ignore_insecure_tls_error":{"type":"bool","description":"Ignore insecure TLS errors for Spectro Cloud API endpoints. Defaults to false.","description_kind":"plain","optional":true},"project_name":{"type":"string","description":"The Palette project the provider will target. If no value is provided, the `Default` Palette project is used. The default value is `Default`.","description_kind":"plain","optional":true},"retry_attempts":{"type":"number","description":"Number of retry attempts. Can also be set with the `SPECTROCLOUD_RETRY_ATTEMPTS` environment variable. Defaults to 10.","description_kind":"plain","optional":true},"trace":{"type":"bool","description":"Enable HTTP request tracing. Can also be set with the `SPECTROCLOUD_TRACE` environment variable. To enable Terraform debug logging, set `TF_LOG=DEBUG`. Visit the Terraform documentation to learn more about Terraform [debugging](https://developer.hashicorp.com/terraform/plugin/log/managing).","description_kind":"plain","optional":true}},"description_kind":"plain"}},"resource_schemas":{"spectrocloud_addon_deployment":{"version":2,"block":{"attributes":{"apply_setting":{"type":"string","description":"The setting to apply the cluster profile. `DownloadAndInstall` will download and install packs in one action. `DownloadAndInstallLater` will only download artifact and postpone install for later. Default value is `DownloadAndInstall`.","description_kind":"plain","optional":true},"cluster_uid":{"type":"string","description_kind":"plain","required":true},"context":{"type":"string","description":"Specifies cluster context where addon profile is attached. Allowed values are `project` or `tenant`. Defaults to `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"block_types":{"cluster_profile":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The ID of the cluster profile.","description_kind":"plain","required":true}},"block_types":{"pack":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile. ","description_kind":"plain","required":true},"registry_uid":{"type":"string","description":"The registry UID of the pack. The registry UID is the unique identifier of the registry. This attribute is required if there is more than one registry that contains a pack with the same name. ","description_kind":"plain","optional":true},"tag":{"type":"string","description":"The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. ","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`.","description_kind":"plain","optional":true},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the [`spectrocloud_pack`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) data source. This value is required if the pack type is `spectro` and for `helm` if the chart is from a public helm registry.","description_kind":"plain","optional":true,"computed":true},"values":{"type":"string","description":"The values of the pack. The values are the configuration values of the pack. The values are specified in YAML format. ","description_kind":"plain","optional":true}},"block_types":{"manifest":{"nesting_mode":"list","block":{"attributes":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest. ","description_kind":"plain","required":true},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack. ","description_kind":"plain","required":true},"uid":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}}},"description":"For packs of type `spectro`, `helm`, and `manifest`, at least one pack must be specified.","description_kind":"plain"}}},"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"}},"spectrocloud_alert":{"version":2,"block":{"attributes":{"alert_all_users":{"type":"bool","description_kind":"plain","optional":true},"component":{"type":"string","description_kind":"plain","required":true},"created_by":{"type":"string","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"identifiers":{"type":["set","string"],"description_kind":"plain","optional":true},"is_active":{"type":"bool","description_kind":"plain","required":true},"project":{"type":"string","description_kind":"plain","required":true},"type":{"type":"string","description_kind":"plain","required":true}},"block_types":{"http":{"nesting_mode":"list","block":{"attributes":{"body":{"type":"string","description_kind":"plain","required":true},"headers":{"type":["map","string"],"description_kind":"plain","optional":true},"method":{"type":"string","description_kind":"plain","required":true},"url":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"status":{"nesting_mode":"list","block":{"attributes":{"is_succeeded":{"type":"bool","description_kind":"plain","optional":true},"message":{"type":"string","description_kind":"plain","optional":true},"time":{"type":"string","description_kind":"plain","optional":true}},"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"}},"spectrocloud_appliance":{"version":2,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"pairing_key":{"type":"string","description_kind":"plain","optional":true},"tags":{"type":["map","string"],"description_kind":"plain","optional":true},"uid":{"type":"string","description_kind":"plain","required":true},"wait":{"type":"bool","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":"A resource for creating and managing appliances for Edge Native cluster provisioning.","description_kind":"plain"}},"spectrocloud_application":{"version":2,"block":{"attributes":{"application_profile_uid":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true},"tags":{"type":["set","string"],"description_kind":"plain","optional":true}},"block_types":{"config":{"nesting_mode":"list","block":{"attributes":{"cluster_context":{"type":"string","description_kind":"plain","required":true},"cluster_group_uid":{"type":"string","description_kind":"plain","optional":true},"cluster_name":{"type":"string","description_kind":"plain","optional":true},"cluster_uid":{"type":"string","description_kind":"plain","optional":true}},"block_types":{"limits":{"nesting_mode":"list","block":{"attributes":{"cpu":{"type":"number","description_kind":"plain","optional":true},"memory":{"type":"number","description_kind":"plain","optional":true},"storage":{"type":"number","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"},"max_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"}},"spectrocloud_application_profile":{"version":0,"block":{"attributes":{"cloud":{"type":"string","description":"The cloud provider the profile is eligible for. Default value is `all`.","description_kind":"plain","optional":true},"context":{"type":"string","description":"Context of the profile. Allowed values are `project`, `cluster`, or `namespace`. Default value is `project`.If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"description":{"type":"string","description":"Description of the profile.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the application profile","description_kind":"plain","required":true},"tags":{"type":["set","string"],"description":"A list of tags to be applied to the application profile. Tags must be in the form of `key:value`.","description_kind":"plain","optional":true},"version":{"type":"string","description":"Version of the profile. Default value is 1.0.0.","description_kind":"plain","optional":true}},"block_types":{"pack":{"nesting_mode":"list","block":{"attributes":{"install_order":{"type":"number","description":"The installation priority order of the app profile. The order of priority goes from lowest number to highest number. For example, a value of `-3` would be installed before an app profile with a higher number value. No upper and lower limits exist, and you may specify positive and negative integers. The default value is `0`. ","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the specified pack.","description_kind":"plain","required":true},"properties":{"type":["map","string"],"description":"The various properties required by different database tiers eg: `databaseName` and `databaseVolumeSize` size for Redis etc.","description_kind":"plain","optional":true},"registry_uid":{"type":"string","description":"The unique id of the registry to be used for the pack.","description_kind":"plain","optional":true,"computed":true},"source_app_tier":{"type":"string","description":"The unique id of the pack to be used as the source for the pack.","description_kind":"plain","optional":true},"tag":{"type":"string","description":"The identifier or version to label the pack.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of Pack. Allowed values are `container`, `helm`, `manifest`, or `operator-instance`.","description_kind":"plain","optional":true},"uid":{"type":"string","description":"The unique id of the pack. This is a computed field and is not required to be set.","description_kind":"plain","optional":true,"computed":true},"values":{"type":"string","description":"The values to be used for the pack. This is a stringified JSON object.","description_kind":"plain","optional":true}},"block_types":{"manifest":{"nesting_mode":"list","block":{"attributes":{"content":{"type":"string","description":"The content of the manifest.","description_kind":"plain","required":true},"name":{"type":"string","description":"The name of the manifest.","description_kind":"plain","required":true},"uid":{"type":"string","description_kind":"plain","computed":true}},"description":"The manifest of the pack.","description_kind":"plain"}}},"description":"A list of packs to be applied to the application profile.","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":"Provisions an Application Profile. App Profiles are templates created with preconfigured services. You can create as many profiles as required, with multiple tiers serving different functionalities per use case.","description_kind":"plain"}},"spectrocloud_backup_storage_location":{"version":2,"block":{"attributes":{"bucket_name":{"type":"string","description_kind":"plain","required":true},"ca_cert":{"type":"string","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"is_default":{"type":"bool","description_kind":"plain","required":true},"name":{"type":"string","description_kind":"plain","required":true},"region":{"type":"string","description_kind":"plain","required":true}},"block_types":{"s3":{"nesting_mode":"list","block":{"attributes":{"access_key":{"type":"string","description_kind":"plain","optional":true},"arn":{"type":"string","description_kind":"plain","optional":true},"credential_type":{"type":"string","description_kind":"plain","required":true},"external_id":{"type":"string","description_kind":"plain","optional":true},"s3_force_path_style":{"type":"bool","description_kind":"plain","optional":true},"s3_url":{"type":"string","description_kind":"plain","optional":true},"secret_key":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"},"min_items":1,"max_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"}},"spectrocloud_cloudaccount_aws":{"version":0,"block":{"attributes":{"arn":{"type":"string","description_kind":"plain","optional":true},"aws_access_key":{"type":"string","description_kind":"plain","optional":true},"aws_secret_key":{"type":"string","description_kind":"plain","optional":true,"sensitive":true},"context":{"type":"string","description":"The context of the AWS configuration. Allowed values are `project` or `tenant`. Default value is `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"external_id":{"type":"string","description_kind":"plain","optional":true,"sensitive":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true},"partition":{"type":"string","description":"The AWS partition in which the cloud account is located. \nCan be 'aws' for standard AWS regions or 'aws-us-gov' for AWS GovCloud (US) regions.\nDefault is 'aws'.","description_kind":"plain","optional":true},"policy_arns":{"type":["set","string"],"description":"A set of ARNs for the IAM policies that should be associated with the cloud account.","description_kind":"plain","optional":true},"private_cloud_gateway_id":{"type":"string","description":"ID of the private cloud gateway. This is the ID of the private cloud gateway that is used to connect to the private cluster endpoint.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of AWS credentials to use. Can be `secret` or `sts`. ","description_kind":"plain","optional":true}},"description_kind":"plain"}},"spectrocloud_cloudaccount_azure":{"version":0,"block":{"attributes":{"azure_client_id":{"type":"string","description":"Unique client Id from Azure console.","description_kind":"plain","required":true},"azure_client_secret":{"type":"string","description":"Azure secret for authentication.","description_kind":"plain","required":true,"sensitive":true},"azure_tenant_id":{"type":"string","description":"Unique tenant Id from Azure console.","description_kind":"plain","required":true},"cloud":{"type":"string","description":"The Azure partition in which the cloud account is located. \nCan be 'AzurePublicCloud' for standard Azure regions or 'AzureUSGovernmentCloud' for Azure GovCloud (US) regions.\nDefault is 'AzurePublicCloud'.","description_kind":"plain","optional":true},"context":{"type":"string","description":"The context of the Azure configuration. Defaults to `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"disable_properties_request":{"type":"bool","description":"Disable properties request. This is a boolean value that indicates whether to disable properties request or not. If not specified, the default value is `false`.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"The name of the Azure cloud account.","description_kind":"plain","required":true},"private_cloud_gateway_id":{"type":"string","description":"ID of the private cloud gateway. This is the ID of the private cloud gateway that is used to connect to the private cluster endpoint.","description_kind":"plain","optional":true},"tenant_name":{"type":"string","description":"The name of the tenant. This is the name of the tenant that is used to connect to the Azure cloud.","description_kind":"plain","optional":true}},"description_kind":"plain"}},"spectrocloud_cloudaccount_custom":{"version":0,"block":{"attributes":{"cloud":{"type":"string","description":"The cloud provider name.","description_kind":"plain","required":true},"context":{"type":"string","description":"The context of the custom cloud configuration. Allowed values are `project` or `tenant`. Default value is `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"credentials":{"type":["map","string"],"description":"The credentials required for accessing the cloud.","description_kind":"plain","required":true,"sensitive":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"The name of the cloud account.","description_kind":"plain","required":true},"private_cloud_gateway_id":{"type":"string","description":"ID of the private cloud gateway, which serves as the connection point to establish connectivity with the cloud infrastructure.","description_kind":"plain","required":true}},"description_kind":"plain"}},"spectrocloud_cloudaccount_gcp":{"version":0,"block":{"attributes":{"context":{"type":"string","description":"The context of the GCP configuration. Allowed values are `project` or `tenant`. Default value is `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"gcp_json_credentials":{"type":"string","description_kind":"plain","required":true,"sensitive":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"spectrocloud_cloudaccount_maas":{"version":0,"block":{"attributes":{"context":{"type":"string","description":"The context of the MAAS configuration. Allowed values are `project` or `tenant`. Default value is `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"maas_api_endpoint":{"type":"string","description":"Endpoint of the MAAS API that is used to connect to the MAAS cloud. I.e. http://maas:5240/MAAS","description_kind":"plain","required":true},"maas_api_key":{"type":"string","description":"API key that is used to connect to the MAAS cloud.","description_kind":"plain","required":true,"sensitive":true},"name":{"type":"string","description":"Name of the MAAS cloud account.","description_kind":"plain","required":true},"private_cloud_gateway_id":{"type":"string","description":"ID of the private cloud gateway that is used to connect to the MAAS cloud.","description_kind":"plain","required":true}},"description_kind":"plain"}},"spectrocloud_cloudaccount_openstack":{"version":0,"block":{"attributes":{"ca_certificate":{"type":"string","description":"The CA certificate of the OpenStack cloud that is used to connect to the OpenStack cloud.","description_kind":"plain","optional":true},"context":{"type":"string","description":"The context of the OpenStack configuration. Allowed values are `project` or `tenant`. Default value is `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"default_domain":{"type":"string","description":"The default domain of the OpenStack cloud that is used to connect to the OpenStack cloud.","description_kind":"plain","required":true},"default_project":{"type":"string","description":"The default project of the OpenStack cloud that is used to connect to the OpenStack cloud.","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"identity_endpoint":{"type":"string","description":"The identity endpoint of the OpenStack cloud that is used to connect to the OpenStack cloud.","description_kind":"plain","required":true},"name":{"type":"string","description":"Name of the OpenStack cloud account.","description_kind":"plain","required":true},"openstack_allow_insecure":{"type":"bool","description":"Whether to allow insecure connections to the OpenStack cloud. Default is `false`.","description_kind":"plain","optional":true},"openstack_password":{"type":"string","description":"The password of the OpenStack cloud that is used to connect to the OpenStack cloud.","description_kind":"plain","required":true,"sensitive":true},"openstack_username":{"type":"string","description":"The username of the OpenStack cloud that is used to connect to the OpenStack cloud.","description_kind":"plain","required":true},"parent_region":{"type":"string","description":"The parent region of the OpenStack cloud that is used to connect to the OpenStack cloud.","description_kind":"plain","required":true},"private_cloud_gateway_id":{"type":"string","description":"ID of the private cloud gateway that is used to connect to the OpenStack cloud.","description_kind":"plain","required":true}},"description_kind":"plain"}},"spectrocloud_cloudaccount_tencent":{"version":0,"block":{"attributes":{"context":{"type":"string","description":"The context of the Tencent account. Allowed values are `project` or `tenant`. Default value is `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true},"tencent_secret_id":{"type":"string","description_kind":"plain","optional":true},"tencent_secret_key":{"type":"string","description_kind":"plain","optional":true,"sensitive":true}},"description_kind":"plain"}},"spectrocloud_cloudaccount_vsphere":{"version":0,"block":{"attributes":{"context":{"type":"string","description":"Context of the cloud account. Allowed values are `project` or `tenant`. Default value is `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the cloud account. This name is used to identify the cloud account in the Spectro Cloud UI.","description_kind":"plain","required":true},"private_cloud_gateway_id":{"type":"string","description":"ID of the private cloud gateway. This is the ID of the private cloud gateway that is used to connect to the vSphere cloud.","description_kind":"plain","required":true},"vsphere_ignore_insecure_error":{"type":"bool","description":"Ignore insecure error. This is a boolean value that indicates whether to ignore the insecure error or not. If not specified, the default value is false.","description_kind":"plain","optional":true},"vsphere_password":{"type":"string","description":"Password of the vSphere cloud. This is the password of the vSphere cloud that is used to connect to the vSphere cloud.","description_kind":"plain","required":true,"sensitive":true},"vsphere_username":{"type":"string","description":"Username of the vSphere cloud. This is the username of the vSphere cloud that is used to connect to the vSphere cloud.","description_kind":"plain","required":true},"vsphere_vcenter":{"type":"string","description":"vCenter server address. This is the address of the vCenter server that is used to connect to the vSphere cloud.","description_kind":"plain","required":true}},"description":"A resource to manage a vSphere cloud account in Pallette.","description_kind":"plain"}},"spectrocloud_cluster_aks":{"version":2,"block":{"attributes":{"admin_kube_config":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using `kubectl`, With admin privilege.","description_kind":"plain","computed":true},"apply_setting":{"type":"string","description":"The setting to apply the cluster profile. `DownloadAndInstall` will download and install packs in one action. `DownloadAndInstallLater` will only download artifact and postpone install for later. Default value is `DownloadAndInstall`.","description_kind":"plain","optional":true},"cloud_account_id":{"type":"string","description_kind":"plain","required":true},"cloud_config_id":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type `azure`.","description_kind":"plain","deprecated":true,"computed":true},"cluster_meta_attribute":{"type":"string","description":"`cluster_meta_attribute` can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`","description_kind":"plain","optional":true},"context":{"type":"string","description":"The context of the AKS cluster. Allowed values are `project` or `tenant`. Default is `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.","description_kind":"plain","optional":true},"force_delete":{"type":"bool","description":"If set to `true`, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.","description_kind":"plain","optional":true},"force_delete_delay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using `kubectl`.","description_kind":"plain","computed":true},"location_config":{"type":["list",["object",{"country_code":"string","country_name":"string","latitude":"number","longitude":"number","region_code":"string","region_name":"string"}]],"description":"The location of the cluster.","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true},"os_patch_after":{"type":"string","description":"The date and time after which to patch the cluster. Prefix the time value with the respective RFC. Ex: `RFC3339: 2006-01-02T15:04:05Z07:00`","description_kind":"plain","optional":true},"os_patch_on_boot":{"type":"bool","description":"Whether to apply OS patch on boot. Default is `false`.","description_kind":"plain","optional":true},"os_patch_schedule":{"type":"string","description":"The cron schedule for OS patching. This must be in the form of cron syntax. Ex: `0 0 * * *`.","description_kind":"plain","optional":true},"pause_agent_upgrades":{"type":"string","description":"The pause agent upgrades setting allows to control the automatic upgrade of the Palette component and agent for an individual cluster. The default value is `unlock`, meaning upgrades occur automatically. Setting it to `lock` pauses automatic agent upgrades for the cluster.","description_kind":"plain","optional":true},"review_repave_state":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.","description_kind":"plain","optional":true},"skip_completion":{"type":"bool","description":"If `true`, the cluster will be created asynchronously. Default value is `false`.","description_kind":"plain","optional":true},"tags":{"type":["set","string"],"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.","description_kind":"plain","optional":true}},"block_types":{"backup_policy":{"nesting_mode":"list","block":{"attributes":{"backup_location_id":{"type":"string","description":"The ID of the backup location to use for the backup.","description_kind":"plain","required":true},"cluster_uids":{"type":["set","string"],"description":"The list of cluster UIDs to include in the backup. If `include_all_clusters` is set to `true`, then all clusters will be included.","description_kind":"plain","optional":true},"expiry_in_hour":{"type":"number","description":"The number of hours after which the backup will be deleted. For example, if the expiry is set to 24, the backup will be deleted after 24 hours.","description_kind":"plain","required":true},"include_all_clusters":{"type":"bool","description":"Whether to include all clusters in the backup. If set to false, only the clusters specified in `cluster_uids` will be included.","description_kind":"plain","optional":true},"include_cluster_resources":{"type":"bool","description":"Whether to include the cluster resources in the backup. If set to false, only the cluster configuration and disks will be backed up.","description_kind":"plain","optional":true},"include_disks":{"type":"bool","description":"Whether to include the disks in the backup. If set to false, only the cluster configuration will be backed up.","description_kind":"plain","optional":true},"namespaces":{"type":["set","string"],"description":"The list of Kubernetes namespaces to include in the backup. If not specified, all namespaces will be included.","description_kind":"plain","optional":true},"prefix":{"type":"string","description":"Prefix for the backup name. The backup name will be of the format \u003cprefix\u003e-\u003ccluster-name\u003e-\u003ctimestamp\u003e.","description_kind":"plain","required":true},"schedule":{"type":"string","description":"The schedule for the backup. The schedule is specified in cron format. For example, to run the backup every day at 1:00 AM, the schedule should be set to `0 1 * * *`.","description_kind":"plain","required":true}},"description":"The backup policy for the cluster. If not specified, no backups will be taken.","description_kind":"plain"},"max_items":1},"cloud_config":{"nesting_mode":"list","block":{"attributes":{"control_plane_cidr":{"type":"string","description_kind":"plain","optional":true},"control_plane_subnet_name":{"type":"string","description_kind":"plain","optional":true},"control_plane_subnet_security_group_name":{"type":"string","description_kind":"plain","optional":true},"private_cluster":{"type":"bool","description":"Whether to create a private cluster(API endpoint). Default is `false`.","description_kind":"plain","optional":true},"region":{"type":"string","description_kind":"plain","required":true},"resource_group":{"type":"string","description_kind":"plain","required":true},"ssh_key":{"type":"string","description":"Public SSH key to be used for the cluster nodes.","description_kind":"plain","required":true},"subscription_id":{"type":"string","description_kind":"plain","required":true},"vnet_cidr_block":{"type":"string","description_kind":"plain","optional":true},"vnet_name":{"type":"string","description_kind":"plain","optional":true},"vnet_resource_group":{"type":"string","description_kind":"plain","optional":true},"worker_cidr":{"type":"string","description_kind":"plain","optional":true},"worker_subnet_name":{"type":"string","description_kind":"plain","optional":true},"worker_subnet_security_group_name":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"},"min_items":1,"max_items":1},"cluster_profile":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The ID of the cluster profile.","description_kind":"plain","required":true}},"block_types":{"pack":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile. ","description_kind":"plain","required":true},"registry_uid":{"type":"string","description":"The registry UID of the pack. The registry UID is the unique identifier of the registry. This attribute is required if there is more than one registry that contains a pack with the same name. ","description_kind":"plain","optional":true},"tag":{"type":"string","description":"The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. ","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`.","description_kind":"plain","optional":true},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the [`spectrocloud_pack`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) data source. This value is required if the pack type is `spectro` and for `helm` if the chart is from a public helm registry.","description_kind":"plain","optional":true,"computed":true},"values":{"type":"string","description":"The values of the pack. The values are the configuration values of the pack. The values are specified in YAML format. ","description_kind":"plain","optional":true}},"block_types":{"manifest":{"nesting_mode":"list","block":{"attributes":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest. ","description_kind":"plain","required":true},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack. ","description_kind":"plain","required":true},"uid":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}}},"description":"For packs of type `spectro`, `helm`, and `manifest`, at least one pack must be specified.","description_kind":"plain"}}},"description_kind":"plain"}},"cluster_rbac_binding":{"nesting_mode":"list","block":{"attributes":{"namespace":{"type":"string","description":"The Kubernetes namespace of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"role":{"type":["map","string"],"description":"The role of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`.","description_kind":"plain","required":true}},"block_types":{"subjects":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the subject. Required if 'type' is set to 'User' or 'Group'.","description_kind":"plain","required":true},"namespace":{"type":"string","description":"The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description":"The RBAC binding for the cluster.","description_kind":"plain"}},"host_config":{"nesting_mode":"list","block":{"attributes":{"external_traffic_policy":{"type":"string","description":"The external traffic policy for the cluster.","description_kind":"plain","optional":true},"host_endpoint_type":{"type":"string","description":"The type of endpoint for the cluster. Can be either 'Ingress' or 'LoadBalancer'. The default is 'Ingress'.","description_kind":"plain","optional":true},"ingress_host":{"type":"string","description":"The host for the Ingress endpoint. Required if 'host_endpoint_type' is set to 'Ingress'.","description_kind":"plain","optional":true},"load_balancer_source_ranges":{"type":"string","description":"The source ranges for the load balancer. Required if 'host_endpoint_type' is set to 'LoadBalancer'.","description_kind":"plain","optional":true}},"description":"The host configuration for the cluster.","description_kind":"plain"}},"machine_pool":{"nesting_mode":"list","block":{"attributes":{"additional_labels":{"type":["map","string"],"description_kind":"plain","optional":true},"count":{"type":"number","description":"Number of nodes in the machine pool.","description_kind":"plain","required":true},"disk_size_gb":{"type":"number","description_kind":"plain","required":true},"instance_type":{"type":"string","description_kind":"plain","required":true},"is_system_node_pool":{"type":"bool","description_kind":"plain","required":true},"max":{"type":"number","description":"Maximum number of nodes in the machine pool. This is used for autoscaling the machine pool.","description_kind":"plain","optional":true},"min":{"type":"number","description":"Minimum number of nodes in the machine pool. This is used for autoscaling the machine pool.","description_kind":"plain","optional":true},"name":{"type":"string","description_kind":"plain","required":true},"storage_account_type":{"type":"string","description_kind":"plain","required":true},"update_strategy":{"type":"string","description":"Update strategy for the machine pool. Valid values are `RollingUpdateScaleOut` and `RollingUpdateScaleIn`.","description_kind":"plain","optional":true}},"block_types":{"node":{"nesting_mode":"list","block":{"attributes":{"action":{"type":"string","description":"The action to perform on the node. Valid values are: `cordon`, `uncordon`.","description_kind":"plain","required":true},"node_id":{"type":"string","description":"The node_id of the node, For example `i-07f899a33dee624f7`","description_kind":"plain","required":true}},"description_kind":"plain"}},"taints":{"nesting_mode":"list","block":{"attributes":{"effect":{"type":"string","description":"The effect of the taint. Allowed values are: `NoSchedule`, `PreferNoSchedule` or `NoExecute`.","description_kind":"plain","required":true},"key":{"type":"string","description":"The key of the taint.","description_kind":"plain","required":true},"value":{"type":"string","description":"The value of the taint.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description_kind":"plain"},"min_items":1},"namespaces":{"nesting_mode":"list","block":{"attributes":{"images_blacklist":{"type":["list","string"],"description":"List of images to disallow for the namespace. For example, `['nginx:latest', 'redis:latest']`","description_kind":"plain","optional":true},"name":{"type":"string","description":"Name of the namespace. This is the name of the Kubernetes namespace in the cluster.","description_kind":"plain","required":true},"resource_allocation":{"type":["map","string"],"description":"Resource allocation for the namespace. This is a map containing the resource type and the resource value. For example, `{cpu_cores: '2', memory_MiB: '2048'}`","description_kind":"plain","required":true}},"description":"The namespaces for the cluster.","description_kind":"plain"}},"scan_policy":{"nesting_mode":"list","block":{"attributes":{"configuration_scan_schedule":{"type":"string","description":"The schedule for configuration scan.","description_kind":"plain","required":true},"conformance_scan_schedule":{"type":"string","description":"The schedule for conformance scan.","description_kind":"plain","required":true},"penetration_scan_schedule":{"type":"string","description":"The schedule for penetration scan.","description_kind":"plain","required":true}},"description":"The scan policy for the cluster.","description_kind":"plain"},"max_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":"Resource for managing AKS clusters in Spectro Cloud through Palette.","description_kind":"plain"}},"spectrocloud_cluster_aws":{"version":2,"block":{"attributes":{"admin_kube_config":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using `kubectl`, With admin privilege.","description_kind":"plain","computed":true},"apply_setting":{"type":"string","description":"The setting to apply the cluster profile. `DownloadAndInstall` will download and install packs in one action. `DownloadAndInstallLater` will only download artifact and postpone install for later. Default value is `DownloadAndInstall`.","description_kind":"plain","optional":true},"cloud_account_id":{"type":"string","description_kind":"plain","required":true},"cloud_config_id":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type `azure`.","description_kind":"plain","deprecated":true,"computed":true},"cluster_meta_attribute":{"type":"string","description":"`cluster_meta_attribute` can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`","description_kind":"plain","optional":true},"context":{"type":"string","description":"The context of the AWS cluster. Allowed values are `project` or `tenant`. Default is `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.","description_kind":"plain","optional":true},"force_delete":{"type":"bool","description":"If set to `true`, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.","description_kind":"plain","optional":true},"force_delete_delay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using `kubectl`.","description_kind":"plain","computed":true},"location_config":{"type":["list",["object",{"country_code":"string","country_name":"string","latitude":"number","longitude":"number","region_code":"string","region_name":"string"}]],"description":"The location of the cluster.","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true},"os_patch_after":{"type":"string","description":"Date and time after which to patch cluster `RFC3339: 2006-01-02T15:04:05Z07:00`","description_kind":"plain","optional":true},"os_patch_on_boot":{"type":"bool","description":"Whether to apply OS patch on boot. Default is `false`.","description_kind":"plain","optional":true},"os_patch_schedule":{"type":"string","description":"The cron schedule for OS patching. This must be in the form of cron syntax. Ex: `0 0 * * *`.","description_kind":"plain","optional":true},"pause_agent_upgrades":{"type":"string","description":"The pause agent upgrades setting allows to control the automatic upgrade of the Palette component and agent for an individual cluster. The default value is `unlock`, meaning upgrades occur automatically. Setting it to `lock` pauses automatic agent upgrades for the cluster.","description_kind":"plain","optional":true},"review_repave_state":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.","description_kind":"plain","optional":true},"skip_completion":{"type":"bool","description":"If `true`, the cluster will be created asynchronously. Default value is `false`.","description_kind":"plain","optional":true},"tags":{"type":["set","string"],"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.","description_kind":"plain","optional":true}},"block_types":{"backup_policy":{"nesting_mode":"list","block":{"attributes":{"backup_location_id":{"type":"string","description":"The ID of the backup location to use for the backup.","description_kind":"plain","required":true},"cluster_uids":{"type":["set","string"],"description":"The list of cluster UIDs to include in the backup. If `include_all_clusters` is set to `true`, then all clusters will be included.","description_kind":"plain","optional":true},"expiry_in_hour":{"type":"number","description":"The number of hours after which the backup will be deleted. For example, if the expiry is set to 24, the backup will be deleted after 24 hours.","description_kind":"plain","required":true},"include_all_clusters":{"type":"bool","description":"Whether to include all clusters in the backup. If set to false, only the clusters specified in `cluster_uids` will be included.","description_kind":"plain","optional":true},"include_cluster_resources":{"type":"bool","description":"Whether to include the cluster resources in the backup. If set to false, only the cluster configuration and disks will be backed up.","description_kind":"plain","optional":true},"include_disks":{"type":"bool","description":"Whether to include the disks in the backup. If set to false, only the cluster configuration will be backed up.","description_kind":"plain","optional":true},"namespaces":{"type":["set","string"],"description":"The list of Kubernetes namespaces to include in the backup. If not specified, all namespaces will be included.","description_kind":"plain","optional":true},"prefix":{"type":"string","description":"Prefix for the backup name. The backup name will be of the format \u003cprefix\u003e-\u003ccluster-name\u003e-\u003ctimestamp\u003e.","description_kind":"plain","required":true},"schedule":{"type":"string","description":"The schedule for the backup. The schedule is specified in cron format. For example, to run the backup every day at 1:00 AM, the schedule should be set to `0 1 * * *`.","description_kind":"plain","required":true}},"description":"The backup policy for the cluster. If not specified, no backups will be taken.","description_kind":"plain"},"max_items":1},"cloud_config":{"nesting_mode":"list","block":{"attributes":{"control_plane_lb":{"type":"string","description":"Control plane load balancer type. Valid values are `Internet-facing` and `internal`. Defaults to `` (empty string).","description_kind":"plain","optional":true},"region":{"type":"string","description":"The AWS region to deploy the cluster in.","description_kind":"plain","required":true},"ssh_key_name":{"type":"string","description":"Public SSH key to be used for the cluster nodes.","description_kind":"plain","required":true},"vpc_id":{"type":"string","description":"The VPC ID to deploy the cluster in. If not provided, VPC will be provisioned dynamically.","description_kind":"plain","optional":true}},"description_kind":"plain"},"min_items":1,"max_items":1},"cluster_profile":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The ID of the cluster profile.","description_kind":"plain","required":true}},"block_types":{"pack":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile. ","description_kind":"plain","required":true},"registry_uid":{"type":"string","description":"The registry UID of the pack. The registry UID is the unique identifier of the registry. This attribute is required if there is more than one registry that contains a pack with the same name. ","description_kind":"plain","optional":true},"tag":{"type":"string","description":"The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. ","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`.","description_kind":"plain","optional":true},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the [`spectrocloud_pack`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) data source. This value is required if the pack type is `spectro` and for `helm` if the chart is from a public helm registry.","description_kind":"plain","optional":true,"computed":true},"values":{"type":"string","description":"The values of the pack. The values are the configuration values of the pack. The values are specified in YAML format. ","description_kind":"plain","optional":true}},"block_types":{"manifest":{"nesting_mode":"list","block":{"attributes":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest. ","description_kind":"plain","required":true},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack. ","description_kind":"plain","required":true},"uid":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}}},"description":"For packs of type `spectro`, `helm`, and `manifest`, at least one pack must be specified.","description_kind":"plain"}}},"description_kind":"plain"}},"cluster_rbac_binding":{"nesting_mode":"list","block":{"attributes":{"namespace":{"type":"string","description":"The Kubernetes namespace of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"role":{"type":["map","string"],"description":"The role of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`.","description_kind":"plain","required":true}},"block_types":{"subjects":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the subject. Required if 'type' is set to 'User' or 'Group'.","description_kind":"plain","required":true},"namespace":{"type":"string","description":"The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description":"The RBAC binding for the cluster.","description_kind":"plain"}},"host_config":{"nesting_mode":"list","block":{"attributes":{"external_traffic_policy":{"type":"string","description":"The external traffic policy for the cluster.","description_kind":"plain","optional":true},"host_endpoint_type":{"type":"string","description":"The type of endpoint for the cluster. Can be either 'Ingress' or 'LoadBalancer'. The default is 'Ingress'.","description_kind":"plain","optional":true},"ingress_host":{"type":"string","description":"The host for the Ingress endpoint. Required if 'host_endpoint_type' is set to 'Ingress'.","description_kind":"plain","optional":true},"load_balancer_source_ranges":{"type":"string","description":"The source ranges for the load balancer. Required if 'host_endpoint_type' is set to 'LoadBalancer'.","description_kind":"plain","optional":true}},"description":"The host configuration for the cluster.","description_kind":"plain"}},"machine_pool":{"nesting_mode":"set","block":{"attributes":{"additional_labels":{"type":["map","string"],"description_kind":"plain","optional":true},"additional_security_groups":{"type":["set","string"],"description":"Additional security groups to attach to the instance.","description_kind":"plain","optional":true},"az_subnets":{"type":["map","string"],"description":"Mutually exclusive with `azs`. Use `az_subnets` for Static provisioning.","description_kind":"plain","optional":true},"azs":{"type":["set","string"],"description":"Mutually exclusive with `az_subnets`. Use `azs` for Dynamic provisioning.","description_kind":"plain","optional":true},"capacity_type":{"type":"string","description":"Capacity type is an instance type, can be 'on-demand' or 'spot'. Defaults to 'on-demand'.","description_kind":"plain","optional":true},"control_plane":{"type":"bool","description":"Whether this machine pool is a control plane. Defaults to `false`.","description_kind":"plain","optional":true},"control_plane_as_worker":{"type":"bool","description":"Whether this machine pool is a control plane and a worker. Defaults to `false`.","description_kind":"plain","optional":true},"count":{"type":"number","description":"Number of nodes in the machine pool.","description_kind":"plain","required":true},"disk_size_gb":{"type":"number","description":"The disk size in GB for the machine pool nodes.","description_kind":"plain","optional":true},"instance_type":{"type":"string","description":"The instance type to use for the machine pool nodes.","description_kind":"plain","required":true},"max":{"type":"number","description":"Maximum number of nodes in the machine pool. This is used for autoscaling the machine pool.","description_kind":"plain","optional":true},"max_price":{"type":"string","description":"Maximum price to bid for spot instances. Only applied when instance type is 'spot'.","description_kind":"plain","optional":true},"min":{"type":"number","description":"Minimum number of nodes in the machine pool. This is used for autoscaling the machine pool.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the machine pool.","description_kind":"plain","required":true},"node_repave_interval":{"type":"number","description":"Minimum number of seconds node should be Ready, before the next node is selected for repave. Default value is `0`, Applicable only for worker pools.","description_kind":"plain","optional":true},"update_strategy":{"type":"string","description":"Update strategy for the machine pool. Valid values are `RollingUpdateScaleOut` and `RollingUpdateScaleIn`.","description_kind":"plain","optional":true}},"block_types":{"node":{"nesting_mode":"list","block":{"attributes":{"action":{"type":"string","description":"The action to perform on the node. Valid values are: `cordon`, `uncordon`.","description_kind":"plain","required":true},"node_id":{"type":"string","description":"The node_id of the node, For example `i-07f899a33dee624f7`","description_kind":"plain","required":true}},"description_kind":"plain"}},"taints":{"nesting_mode":"list","block":{"attributes":{"effect":{"type":"string","description":"The effect of the taint. Allowed values are: `NoSchedule`, `PreferNoSchedule` or `NoExecute`.","description_kind":"plain","required":true},"key":{"type":"string","description":"The key of the taint.","description_kind":"plain","required":true},"value":{"type":"string","description":"The value of the taint.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description_kind":"plain"},"min_items":1},"namespaces":{"nesting_mode":"list","block":{"attributes":{"images_blacklist":{"type":["list","string"],"description":"List of images to disallow for the namespace. For example, `['nginx:latest', 'redis:latest']`","description_kind":"plain","optional":true},"name":{"type":"string","description":"Name of the namespace. This is the name of the Kubernetes namespace in the cluster.","description_kind":"plain","required":true},"resource_allocation":{"type":["map","string"],"description":"Resource allocation for the namespace. This is a map containing the resource type and the resource value. For example, `{cpu_cores: '2', memory_MiB: '2048'}`","description_kind":"plain","required":true}},"description":"The namespaces for the cluster.","description_kind":"plain"}},"scan_policy":{"nesting_mode":"list","block":{"attributes":{"configuration_scan_schedule":{"type":"string","description":"The schedule for configuration scan.","description_kind":"plain","required":true},"conformance_scan_schedule":{"type":"string","description":"The schedule for conformance scan.","description_kind":"plain","required":true},"penetration_scan_schedule":{"type":"string","description":"The schedule for penetration scan.","description_kind":"plain","required":true}},"description":"The scan policy for the cluster.","description_kind":"plain"},"max_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":"Resource for managing AWS clusters in Spectro Cloud through Palette.","description_kind":"plain"}},"spectrocloud_cluster_azure":{"version":0,"block":{"attributes":{"admin_kube_config":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using `kubectl`, With admin privilege.","description_kind":"plain","computed":true},"apply_setting":{"type":"string","description":"The setting to apply the cluster profile. `DownloadAndInstall` will download and install packs in one action. `DownloadAndInstallLater` will only download artifact and postpone install for later. Default value is `DownloadAndInstall`.","description_kind":"plain","optional":true},"cloud_account_id":{"type":"string","description":"ID of the cloud account to be used for the cluster. This cloud account must be of type `azure`.","description_kind":"plain","required":true},"cloud_config_id":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type `azure`.","description_kind":"plain","deprecated":true,"computed":true},"cluster_meta_attribute":{"type":"string","description":"`cluster_meta_attribute` can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`","description_kind":"plain","optional":true},"context":{"type":"string","description":"The context of the Azure cluster. Allowed values are `project` or `tenant`. Default is `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.","description_kind":"plain","optional":true},"force_delete":{"type":"bool","description":"If set to `true`, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.","description_kind":"plain","optional":true},"force_delete_delay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using `kubectl`.","description_kind":"plain","computed":true},"location_config":{"type":["list",["object",{"country_code":"string","country_name":"string","latitude":"number","longitude":"number","region_code":"string","region_name":"string"}]],"description":"The location of the cluster.","description_kind":"plain","computed":true},"name":{"type":"string","description":"Name of the cluster. This name will be used to create the cluster in Azure.","description_kind":"plain","required":true},"os_patch_after":{"type":"string","description":"Date and time after which to patch cluster `RFC3339: 2006-01-02T15:04:05Z07:00`","description_kind":"plain","optional":true},"os_patch_on_boot":{"type":"bool","description":"Whether to apply OS patch on boot. Default is `false`.","description_kind":"plain","optional":true},"os_patch_schedule":{"type":"string","description":"Cron schedule for OS patching. This must be in the form of `0 0 * * *`.","description_kind":"plain","optional":true},"pause_agent_upgrades":{"type":"string","description":"The pause agent upgrades setting allows to control the automatic upgrade of the Palette component and agent for an individual cluster. The default value is `unlock`, meaning upgrades occur automatically. Setting it to `lock` pauses automatic agent upgrades for the cluster.","description_kind":"plain","optional":true},"review_repave_state":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.","description_kind":"plain","optional":true},"skip_completion":{"type":"bool","description":"If `true`, the cluster will be created asynchronously. Default value is `false`.","description_kind":"plain","optional":true},"tags":{"type":["set","string"],"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.","description_kind":"plain","optional":true}},"block_types":{"backup_policy":{"nesting_mode":"list","block":{"attributes":{"backup_location_id":{"type":"string","description":"The ID of the backup location to use for the backup.","description_kind":"plain","required":true},"cluster_uids":{"type":["set","string"],"description":"The list of cluster UIDs to include in the backup. If `include_all_clusters` is set to `true`, then all clusters will be included.","description_kind":"plain","optional":true},"expiry_in_hour":{"type":"number","description":"The number of hours after which the backup will be deleted. For example, if the expiry is set to 24, the backup will be deleted after 24 hours.","description_kind":"plain","required":true},"include_all_clusters":{"type":"bool","description":"Whether to include all clusters in the backup. If set to false, only the clusters specified in `cluster_uids` will be included.","description_kind":"plain","optional":true},"include_cluster_resources":{"type":"bool","description":"Whether to include the cluster resources in the backup. If set to false, only the cluster configuration and disks will be backed up.","description_kind":"plain","optional":true},"include_disks":{"type":"bool","description":"Whether to include the disks in the backup. If set to false, only the cluster configuration will be backed up.","description_kind":"plain","optional":true},"namespaces":{"type":["set","string"],"description":"The list of Kubernetes namespaces to include in the backup. If not specified, all namespaces will be included.","description_kind":"plain","optional":true},"prefix":{"type":"string","description":"Prefix for the backup name. The backup name will be of the format \u003cprefix\u003e-\u003ccluster-name\u003e-\u003ctimestamp\u003e.","description_kind":"plain","required":true},"schedule":{"type":"string","description":"The schedule for the backup. The schedule is specified in cron format. For example, to run the backup every day at 1:00 AM, the schedule should be set to `0 1 * * *`.","description_kind":"plain","required":true}},"description":"The backup policy for the cluster. If not specified, no backups will be taken.","description_kind":"plain"},"max_items":1},"cloud_config":{"nesting_mode":"list","block":{"attributes":{"container_name":{"type":"string","description":"Container name within your azure storage account.","description_kind":"plain","optional":true},"network_resource_group":{"type":"string","description":"Azure network resource group in which the cluster is to be provisioned.","description_kind":"plain","optional":true},"region":{"type":"string","description":"Azure region. This can be found in the Azure portal under `Resource groups`.","description_kind":"plain","required":true},"resource_group":{"type":"string","description":"Azure resource group. This can be found in the Azure portal under `Resource groups`.","description_kind":"plain","required":true},"ssh_key":{"type":"string","description":"Public SSH key to be used for the cluster nodes.","description_kind":"plain","required":true},"storage_account_name":{"type":"string","description":"Azure storage account name.","description_kind":"plain","optional":true},"subscription_id":{"type":"string","description":"Azure subscription ID. This can be found in the Azure portal under `Subscriptions`.","description_kind":"plain","required":true},"virtual_network_cidr_block":{"type":"string","description":"Azure virtual network cidr block in which the cluster is to be provisioned.","description_kind":"plain","optional":true},"virtual_network_name":{"type":"string","description":"Azure virtual network in which the cluster is to be provisioned.","description_kind":"plain","optional":true}},"block_types":{"control_plane_subnet":{"nesting_mode":"list","block":{"attributes":{"cidr_block":{"type":"string","description":"CidrBlock is the CIDR block to be used when the provider creates a managed virtual network.","description_kind":"plain","required":true},"name":{"type":"string","description":"Name of the subnet.","description_kind":"plain","required":true},"security_group_name":{"type":"string","description":"Network Security Group(NSG) to be attached to subnet.","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"worker_node_subnet":{"nesting_mode":"list","block":{"attributes":{"cidr_block":{"type":"string","description":"CidrBlock is the CIDR block to be used when the provider creates a managed virtual network.","description_kind":"plain","required":true},"name":{"type":"string","description":"Name of the subnet.","description_kind":"plain","required":true},"security_group_name":{"type":"string","description":"Network Security Group(NSG) to be attached to subnet.","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"},"min_items":1,"max_items":1},"cluster_profile":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The ID of the cluster profile.","description_kind":"plain","required":true}},"block_types":{"pack":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile. ","description_kind":"plain","required":true},"registry_uid":{"type":"string","description":"The registry UID of the pack. The registry UID is the unique identifier of the registry. This attribute is required if there is more than one registry that contains a pack with the same name. ","description_kind":"plain","optional":true},"tag":{"type":"string","description":"The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. ","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`.","description_kind":"plain","optional":true},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the [`spectrocloud_pack`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) data source. This value is required if the pack type is `spectro` and for `helm` if the chart is from a public helm registry.","description_kind":"plain","optional":true,"computed":true},"values":{"type":"string","description":"The values of the pack. The values are the configuration values of the pack. The values are specified in YAML format. ","description_kind":"plain","optional":true}},"block_types":{"manifest":{"nesting_mode":"list","block":{"attributes":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest. ","description_kind":"plain","required":true},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack. ","description_kind":"plain","required":true},"uid":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}}},"description":"For packs of type `spectro`, `helm`, and `manifest`, at least one pack must be specified.","description_kind":"plain"}}},"description_kind":"plain"}},"cluster_rbac_binding":{"nesting_mode":"list","block":{"attributes":{"namespace":{"type":"string","description":"The Kubernetes namespace of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"role":{"type":["map","string"],"description":"The role of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`.","description_kind":"plain","required":true}},"block_types":{"subjects":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the subject. Required if 'type' is set to 'User' or 'Group'.","description_kind":"plain","required":true},"namespace":{"type":"string","description":"The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description":"The RBAC binding for the cluster.","description_kind":"plain"}},"host_config":{"nesting_mode":"list","block":{"attributes":{"external_traffic_policy":{"type":"string","description":"The external traffic policy for the cluster.","description_kind":"plain","optional":true},"host_endpoint_type":{"type":"string","description":"The type of endpoint for the cluster. Can be either 'Ingress' or 'LoadBalancer'. The default is 'Ingress'.","description_kind":"plain","optional":true},"ingress_host":{"type":"string","description":"The host for the Ingress endpoint. Required if 'host_endpoint_type' is set to 'Ingress'.","description_kind":"plain","optional":true},"load_balancer_source_ranges":{"type":"string","description":"The source ranges for the load balancer. Required if 'host_endpoint_type' is set to 'LoadBalancer'.","description_kind":"plain","optional":true}},"description":"The host configuration for the cluster.","description_kind":"plain"}},"machine_pool":{"nesting_mode":"set","block":{"attributes":{"additional_labels":{"type":["map","string"],"description_kind":"plain","optional":true},"azs":{"type":["set","string"],"description":"Availability zones for the machine pool. Check if your region provides availability zones on [the Azure documentation](https://learn.microsoft.com/en-us/azure/reliability/availability-zones-service-support#azure-regions-with-availability-zone-support). Default value is `[\"\"]`.","description_kind":"plain","optional":true},"control_plane":{"type":"bool","description":"Whether this machine pool is a control plane. Defaults to `false`.","description_kind":"plain","optional":true},"control_plane_as_worker":{"type":"bool","description":"Whether this machine pool is a control plane and a worker. Defaults to `false`.","description_kind":"plain","optional":true},"count":{"type":"number","description":"Number of nodes in the machine pool.","description_kind":"plain","required":true},"instance_type":{"type":"string","description":"Azure instance type from the Azure portal.","description_kind":"plain","required":true},"is_system_node_pool":{"type":"bool","description":"Whether this machine pool is a system node pool. Default value is `false'.","description_kind":"plain","optional":true},"name":{"type":"string","description":"Name of the machine pool. This must be unique within the cluster.","description_kind":"plain","required":true},"node_repave_interval":{"type":"number","description":"Minimum number of seconds node should be Ready, before the next node is selected for repave. Default value is `0`, Applicable only for worker pools.","description_kind":"plain","optional":true},"os_type":{"type":"string","description":"Operating system type for the machine pool. Valid values are `Linux` and `Windows`. Defaults to `Linux`.","description_kind":"plain","optional":true},"update_strategy":{"type":"string","description":"Update strategy for the machine pool. Valid values are `RollingUpdateScaleOut` and `RollingUpdateScaleIn`.","description_kind":"plain","optional":true}},"block_types":{"disk":{"nesting_mode":"list","block":{"attributes":{"size_gb":{"type":"number","description":"Size of the disk in GB.","description_kind":"plain","required":true},"type":{"type":"string","description":"Type of the disk. Valid values are `Standard_LRS`, `StandardSSD_LRS`, `Premium_LRS`.","description_kind":"plain","required":true}},"description":"Disk configuration for the machine pool.","description_kind":"plain"},"max_items":1},"node":{"nesting_mode":"list","block":{"attributes":{"action":{"type":"string","description":"The action to perform on the node. Valid values are: `cordon`, `uncordon`.","description_kind":"plain","required":true},"node_id":{"type":"string","description":"The node_id of the node, For example `i-07f899a33dee624f7`","description_kind":"plain","required":true}},"description_kind":"plain"}},"taints":{"nesting_mode":"list","block":{"attributes":{"effect":{"type":"string","description":"The effect of the taint. Allowed values are: `NoSchedule`, `PreferNoSchedule` or `NoExecute`.","description_kind":"plain","required":true},"key":{"type":"string","description":"The key of the taint.","description_kind":"plain","required":true},"value":{"type":"string","description":"The value of the taint.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description_kind":"plain"},"min_items":1},"namespaces":{"nesting_mode":"list","block":{"attributes":{"images_blacklist":{"type":["list","string"],"description":"List of images to disallow for the namespace. For example, `['nginx:latest', 'redis:latest']`","description_kind":"plain","optional":true},"name":{"type":"string","description":"Name of the namespace. This is the name of the Kubernetes namespace in the cluster.","description_kind":"plain","required":true},"resource_allocation":{"type":["map","string"],"description":"Resource allocation for the namespace. This is a map containing the resource type and the resource value. For example, `{cpu_cores: '2', memory_MiB: '2048'}`","description_kind":"plain","required":true}},"description":"The namespaces for the cluster.","description_kind":"plain"}},"scan_policy":{"nesting_mode":"list","block":{"attributes":{"configuration_scan_schedule":{"type":"string","description":"The schedule for configuration scan.","description_kind":"plain","required":true},"conformance_scan_schedule":{"type":"string","description":"The schedule for conformance scan.","description_kind":"plain","required":true},"penetration_scan_schedule":{"type":"string","description":"The schedule for penetration scan.","description_kind":"plain","required":true}},"description":"The scan policy for the cluster.","description_kind":"plain"},"max_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":"Resource for managing Azure clusters in Spectro Cloud through Palette.","description_kind":"plain"}},"spectrocloud_cluster_custom_cloud":{"version":2,"block":{"attributes":{"admin_kube_config":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using `kubectl`, With admin privilege.","description_kind":"plain","computed":true},"apply_setting":{"type":"string","description":"The setting to apply the cluster profile. `DownloadAndInstall` will download and install packs in one action. `DownloadAndInstallLater` will only download artifact and postpone install for later. Default value is `DownloadAndInstall`.","description_kind":"plain","optional":true},"cloud":{"type":"string","description":"The cloud provider name.","description_kind":"plain","required":true},"cloud_account_id":{"type":"string","description":"The cloud account id to use for this cluster.","description_kind":"plain","required":true},"cloud_config_id":{"type":"string","description_kind":"plain","deprecated":true,"computed":true},"context":{"type":"string","description":"The context of the EKS cluster. Allowed values are `project` or `tenant`. Default is `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.","description_kind":"plain","optional":true},"force_delete":{"type":"bool","description":"If set to `true`, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.","description_kind":"plain","optional":true},"force_delete_delay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using `kubectl`.","description_kind":"plain","computed":true},"name":{"type":"string","description":"The name of the cluster.","description_kind":"plain","required":true},"os_patch_after":{"type":"string","description":"Date and time after which to patch cluster `RFC3339: 2006-01-02T15:04:05Z07:00`","description_kind":"plain","optional":true},"os_patch_on_boot":{"type":"bool","description":"Whether to apply OS patch on boot. Default is `false`.","description_kind":"plain","optional":true},"os_patch_schedule":{"type":"string","description":"The cron schedule for OS patching. This must be in the form of cron syntax. Ex: `0 0 * * *`.","description_kind":"plain","optional":true},"pause_agent_upgrades":{"type":"string","description":"The pause agent upgrades setting allows to control the automatic upgrade of the Palette component and agent for an individual cluster. The default value is `unlock`, meaning upgrades occur automatically. Setting it to `lock` pauses automatic agent upgrades for the cluster.","description_kind":"plain","optional":true},"skip_completion":{"type":"bool","description":"If `true`, the cluster will be created asynchronously. Default value is `false`.","description_kind":"plain","optional":true},"tags":{"type":["set","string"],"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.","description_kind":"plain","optional":true}},"block_types":{"backup_policy":{"nesting_mode":"list","block":{"attributes":{"backup_location_id":{"type":"string","description":"The ID of the backup location to use for the backup.","description_kind":"plain","required":true},"cluster_uids":{"type":["set","string"],"description":"The list of cluster UIDs to include in the backup. If `include_all_clusters` is set to `true`, then all clusters will be included.","description_kind":"plain","optional":true},"expiry_in_hour":{"type":"number","description":"The number of hours after which the backup will be deleted. For example, if the expiry is set to 24, the backup will be deleted after 24 hours.","description_kind":"plain","required":true},"include_all_clusters":{"type":"bool","description":"Whether to include all clusters in the backup. If set to false, only the clusters specified in `cluster_uids` will be included.","description_kind":"plain","optional":true},"include_cluster_resources":{"type":"bool","description":"Whether to include the cluster resources in the backup. If set to false, only the cluster configuration and disks will be backed up.","description_kind":"plain","optional":true},"include_disks":{"type":"bool","description":"Whether to include the disks in the backup. If set to false, only the cluster configuration will be backed up.","description_kind":"plain","optional":true},"namespaces":{"type":["set","string"],"description":"The list of Kubernetes namespaces to include in the backup. If not specified, all namespaces will be included.","description_kind":"plain","optional":true},"prefix":{"type":"string","description":"Prefix for the backup name. The backup name will be of the format \u003cprefix\u003e-\u003ccluster-name\u003e-\u003ctimestamp\u003e.","description_kind":"plain","required":true},"schedule":{"type":"string","description":"The schedule for the backup. The schedule is specified in cron format. For example, to run the backup every day at 1:00 AM, the schedule should be set to `0 1 * * *`.","description_kind":"plain","required":true}},"description":"The backup policy for the cluster. If not specified, no backups will be taken.","description_kind":"plain"},"max_items":1},"cloud_config":{"nesting_mode":"list","block":{"attributes":{"values":{"type":"string","description":"The values of the cloud config. The values are specified in YAML format. ","description_kind":"plain","required":true}},"description":"The Cloud environment configuration settings such as network parameters and encryption parameters that apply to this cluster.","description_kind":"plain"},"min_items":1,"max_items":1},"cluster_profile":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The ID of the cluster profile.","description_kind":"plain","required":true}},"block_types":{"pack":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile. ","description_kind":"plain","required":true},"registry_uid":{"type":"string","description":"The registry UID of the pack. The registry UID is the unique identifier of the registry. This attribute is required if there is more than one registry that contains a pack with the same name. ","description_kind":"plain","optional":true},"tag":{"type":"string","description":"The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. ","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`.","description_kind":"plain","optional":true},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the [`spectrocloud_pack`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) data source. This value is required if the pack type is `spectro` and for `helm` if the chart is from a public helm registry.","description_kind":"plain","optional":true,"computed":true},"values":{"type":"string","description":"The values of the pack. The values are the configuration values of the pack. The values are specified in YAML format. ","description_kind":"plain","optional":true}},"block_types":{"manifest":{"nesting_mode":"list","block":{"attributes":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest. ","description_kind":"plain","required":true},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack. ","description_kind":"plain","required":true},"uid":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}}},"description":"For packs of type `spectro`, `helm`, and `manifest`, at least one pack must be specified.","description_kind":"plain"}}},"description_kind":"plain"}},"cluster_rbac_binding":{"nesting_mode":"list","block":{"attributes":{"namespace":{"type":"string","description":"The Kubernetes namespace of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"role":{"type":["map","string"],"description":"The role of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`.","description_kind":"plain","required":true}},"block_types":{"subjects":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the subject. Required if 'type' is set to 'User' or 'Group'.","description_kind":"plain","required":true},"namespace":{"type":"string","description":"The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description":"The RBAC binding for the cluster.","description_kind":"plain"}},"location_config":{"nesting_mode":"list","block":{"attributes":{"country_code":{"type":"string","description":"The country code of the country the cluster is located in.","description_kind":"plain","optional":true},"country_name":{"type":"string","description":"The name of the country.","description_kind":"plain","optional":true},"latitude":{"type":"number","description":"The latitude coordinates value.","description_kind":"plain","required":true},"longitude":{"type":"number","description":"The longitude coordinates value.","description_kind":"plain","required":true},"region_code":{"type":"string","description":"The region code of where the cluster is located in.","description_kind":"plain","optional":true},"region_name":{"type":"string","description":"The name of the region.","description_kind":"plain","optional":true}},"description_kind":"plain"}},"machine_pool":{"nesting_mode":"list","block":{"attributes":{"control_plane":{"type":"bool","description":"Whether this machine pool is a control plane. Defaults to `false`.","description_kind":"plain","optional":true},"control_plane_as_worker":{"type":"bool","description":"Whether this machine pool is a control plane and a worker. Defaults to `false`.","description_kind":"plain","optional":true},"count":{"type":"number","description":"Number of nodes in the machine pool. This will be derived from the replica value in the 'node_pool_config'.","description_kind":"plain","computed":true},"name":{"type":"string","description":"The name of the machine pool. This will be derived from the name value in the `node_pool_config`.","description_kind":"plain","computed":true},"node_pool_config":{"type":"string","description":"The values of the node pool config. The values are specified in YAML format. ","description_kind":"plain","required":true}},"description":"The machine pool configuration for the cluster.","description_kind":"plain"},"min_items":1},"namespaces":{"nesting_mode":"list","block":{"attributes":{"images_blacklist":{"type":["list","string"],"description":"List of images to disallow for the namespace. For example, `['nginx:latest', 'redis:latest']`","description_kind":"plain","optional":true},"name":{"type":"string","description":"Name of the namespace. This is the name of the Kubernetes namespace in the cluster.","description_kind":"plain","required":true},"resource_allocation":{"type":["map","string"],"description":"Resource allocation for the namespace. This is a map containing the resource type and the resource value. For example, `{cpu_cores: '2', memory_MiB: '2048'}`","description_kind":"plain","required":true}},"description":"The namespaces for the cluster.","description_kind":"plain"}},"scan_policy":{"nesting_mode":"list","block":{"attributes":{"configuration_scan_schedule":{"type":"string","description":"The schedule for configuration scan.","description_kind":"plain","required":true},"conformance_scan_schedule":{"type":"string","description":"The schedule for conformance scan.","description_kind":"plain","required":true},"penetration_scan_schedule":{"type":"string","description":"The schedule for penetration scan.","description_kind":"plain","required":true}},"description":"The scan policy for the cluster.","description_kind":"plain"},"max_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":"Resource for managing custom cloud clusters in Spectro Cloud through Palette.","description_kind":"plain"}},"spectrocloud_cluster_edge_native":{"version":2,"block":{"attributes":{"admin_kube_config":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using `kubectl`, With admin privilege.","description_kind":"plain","computed":true},"apply_setting":{"type":"string","description":"The setting to apply the cluster profile. `DownloadAndInstall` will download and install packs in one action. `DownloadAndInstallLater` will only download artifact and postpone install for later. Default value is `DownloadAndInstall`.","description_kind":"plain","optional":true},"cloud_account_id":{"type":"string","description_kind":"plain","optional":true},"cloud_config_id":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type `azure`.","description_kind":"plain","deprecated":true,"computed":true},"cluster_meta_attribute":{"type":"string","description":"`cluster_meta_attribute` can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`","description_kind":"plain","optional":true},"context":{"type":"string","description":"The context of the Edge cluster. Allowed values are `project` or `tenant`. Default is `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.","description_kind":"plain","optional":true},"force_delete":{"type":"bool","description":"If set to `true`, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.","description_kind":"plain","optional":true},"force_delete_delay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using `kubectl`.","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true},"os_patch_after":{"type":"string","description":"Date and time after which to patch cluster `RFC3339: 2006-01-02T15:04:05Z07:00`","description_kind":"plain","optional":true},"os_patch_on_boot":{"type":"bool","description":"Whether to apply OS patch on boot. Default is `false`.","description_kind":"plain","optional":true},"os_patch_schedule":{"type":"string","description":"The cron schedule for OS patching. This must be in the form of cron syntax. Ex: `0 0 * * *`.","description_kind":"plain","optional":true},"pause_agent_upgrades":{"type":"string","description":"The pause agent upgrades setting allows to control the automatic upgrade of the Palette component and agent for an individual cluster. The default value is `unlock`, meaning upgrades occur automatically. Setting it to `lock` pauses automatic agent upgrades for the cluster.","description_kind":"plain","optional":true},"review_repave_state":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.","description_kind":"plain","optional":true},"skip_completion":{"type":"bool","description":"If `true`, the cluster will be created asynchronously. Default value is `false`.","description_kind":"plain","optional":true},"tags":{"type":["set","string"],"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.","description_kind":"plain","optional":true}},"block_types":{"backup_policy":{"nesting_mode":"list","block":{"attributes":{"backup_location_id":{"type":"string","description":"The ID of the backup location to use for the backup.","description_kind":"plain","required":true},"cluster_uids":{"type":["set","string"],"description":"The list of cluster UIDs to include in the backup. If `include_all_clusters` is set to `true`, then all clusters will be included.","description_kind":"plain","optional":true},"expiry_in_hour":{"type":"number","description":"The number of hours after which the backup will be deleted. For example, if the expiry is set to 24, the backup will be deleted after 24 hours.","description_kind":"plain","required":true},"include_all_clusters":{"type":"bool","description":"Whether to include all clusters in the backup. If set to false, only the clusters specified in `cluster_uids` will be included.","description_kind":"plain","optional":true},"include_cluster_resources":{"type":"bool","description":"Whether to include the cluster resources in the backup. If set to false, only the cluster configuration and disks will be backed up.","description_kind":"plain","optional":true},"include_disks":{"type":"bool","description":"Whether to include the disks in the backup. If set to false, only the cluster configuration will be backed up.","description_kind":"plain","optional":true},"namespaces":{"type":["set","string"],"description":"The list of Kubernetes namespaces to include in the backup. If not specified, all namespaces will be included.","description_kind":"plain","optional":true},"prefix":{"type":"string","description":"Prefix for the backup name. The backup name will be of the format \u003cprefix\u003e-\u003ccluster-name\u003e-\u003ctimestamp\u003e.","description_kind":"plain","required":true},"schedule":{"type":"string","description":"The schedule for the backup. The schedule is specified in cron format. For example, to run the backup every day at 1:00 AM, the schedule should be set to `0 1 * * *`.","description_kind":"plain","required":true}},"description":"The backup policy for the cluster. If not specified, no backups will be taken.","description_kind":"plain"},"max_items":1},"cloud_config":{"nesting_mode":"list","block":{"attributes":{"ntp_servers":{"type":["set","string"],"description":"A list of NTP servers to be used by the cluster.","description_kind":"plain","optional":true},"overlay_cidr_range":{"type":"string","description":"The Overlay (VPN) creates a virtual network, using techniques like VxLAN. It overlays the existing network infrastructure, enhancing connectivity either at Layer 2 or Layer 3, making it flexible and adaptable for various needs. For example, `100.64.192.0/24`","description_kind":"plain","optional":true},"ssh_keys":{"type":["set","string"],"description":"List of public SSH (Secure Shell) to establish, administer, and communicate with remote clusters.","description_kind":"plain","optional":true},"vip":{"type":"string","description":"The `vip` can be specified as either an IP address or a fully qualified domain name (FQDN). If `overlay_cidr_range` is set, the `vip` should be within the specified `overlay_cidr_range`. By default, the `vip` is set to the first IP address within the given `overlay_cidr_range`.","description_kind":"plain","optional":true}},"description_kind":"plain"},"min_items":1,"max_items":1},"cluster_profile":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The ID of the cluster profile.","description_kind":"plain","required":true}},"block_types":{"pack":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile. ","description_kind":"plain","required":true},"registry_uid":{"type":"string","description":"The registry UID of the pack. The registry UID is the unique identifier of the registry. This attribute is required if there is more than one registry that contains a pack with the same name. ","description_kind":"plain","optional":true},"tag":{"type":"string","description":"The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. ","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`.","description_kind":"plain","optional":true},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the [`spectrocloud_pack`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) data source. This value is required if the pack type is `spectro` and for `helm` if the chart is from a public helm registry.","description_kind":"plain","optional":true,"computed":true},"values":{"type":"string","description":"The values of the pack. The values are the configuration values of the pack. The values are specified in YAML format. ","description_kind":"plain","optional":true}},"block_types":{"manifest":{"nesting_mode":"list","block":{"attributes":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest. ","description_kind":"plain","required":true},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack. ","description_kind":"plain","required":true},"uid":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}}},"description":"For packs of type `spectro`, `helm`, and `manifest`, at least one pack must be specified.","description_kind":"plain"}}},"description_kind":"plain"}},"cluster_rbac_binding":{"nesting_mode":"list","block":{"attributes":{"namespace":{"type":"string","description":"The Kubernetes namespace of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"role":{"type":["map","string"],"description":"The role of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`.","description_kind":"plain","required":true}},"block_types":{"subjects":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the subject. Required if 'type' is set to 'User' or 'Group'.","description_kind":"plain","required":true},"namespace":{"type":"string","description":"The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description":"The RBAC binding for the cluster.","description_kind":"plain"}},"host_config":{"nesting_mode":"list","block":{"attributes":{"external_traffic_policy":{"type":"string","description":"The external traffic policy for the cluster.","description_kind":"plain","optional":true},"host_endpoint_type":{"type":"string","description":"The type of endpoint for the cluster. Can be either 'Ingress' or 'LoadBalancer'. The default is 'Ingress'.","description_kind":"plain","optional":true},"ingress_host":{"type":"string","description":"The host for the Ingress endpoint. Required if 'host_endpoint_type' is set to 'Ingress'.","description_kind":"plain","optional":true},"load_balancer_source_ranges":{"type":"string","description":"The source ranges for the load balancer. Required if 'host_endpoint_type' is set to 'LoadBalancer'.","description_kind":"plain","optional":true}},"description":"The host configuration for the cluster.","description_kind":"plain"}},"location_config":{"nesting_mode":"list","block":{"attributes":{"country_code":{"type":"string","description":"The country code of the country the cluster is located in.","description_kind":"plain","optional":true},"country_name":{"type":"string","description":"The name of the country.","description_kind":"plain","optional":true},"latitude":{"type":"number","description":"The latitude coordinates value.","description_kind":"plain","required":true},"longitude":{"type":"number","description":"The longitude coordinates value.","description_kind":"plain","required":true},"region_code":{"type":"string","description":"The region code of where the cluster is located in.","description_kind":"plain","optional":true},"region_name":{"type":"string","description":"The name of the region.","description_kind":"plain","optional":true}},"description_kind":"plain"}},"machine_pool":{"nesting_mode":"set","block":{"attributes":{"additional_labels":{"type":["map","string"],"description_kind":"plain","optional":true},"control_plane":{"type":"bool","description":"Whether this machine pool is a control plane. Defaults to `false`.","description_kind":"plain","optional":true},"control_plane_as_worker":{"type":"bool","description":"Whether this machine pool is a control plane and a worker. Defaults to `false`.","description_kind":"plain","optional":true},"name":{"type":"string","description_kind":"plain","required":true},"node_repave_interval":{"type":"number","description":"Minimum number of seconds node should be Ready, before the next node is selected for repave. Default value is `0`, Applicable only for worker pools.","description_kind":"plain","optional":true},"update_strategy":{"type":"string","description":"Update strategy for the machine pool. Valid values are `RollingUpdateScaleOut` and `RollingUpdateScaleIn`.","description_kind":"plain","optional":true}},"block_types":{"edge_host":{"nesting_mode":"list","block":{"attributes":{"host_name":{"type":"string","description":"Edge host name","description_kind":"plain","optional":true},"host_uid":{"type":"string","description":"Edge host id","description_kind":"plain","required":true},"static_ip":{"type":"string","description":"Edge host static IP","description_kind":"plain","optional":true},"two_node_role":{"type":"string","description":"Two node role for edge host. Valid values are `primary` and `secondary`.","description_kind":"plain","optional":true}},"description_kind":"plain"},"min_items":1},"node":{"nesting_mode":"list","block":{"attributes":{"action":{"type":"string","description":"The action to perform on the node. Valid values are: `cordon`, `uncordon`.","description_kind":"plain","required":true},"node_id":{"type":"string","description":"The node_id of the node, For example `i-07f899a33dee624f7`","description_kind":"plain","required":true}},"description_kind":"plain"}},"taints":{"nesting_mode":"list","block":{"attributes":{"effect":{"type":"string","description":"The effect of the taint. Allowed values are: `NoSchedule`, `PreferNoSchedule` or `NoExecute`.","description_kind":"plain","required":true},"key":{"type":"string","description":"The key of the taint.","description_kind":"plain","required":true},"value":{"type":"string","description":"The value of the taint.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description_kind":"plain"},"min_items":1},"namespaces":{"nesting_mode":"list","block":{"attributes":{"images_blacklist":{"type":["list","string"],"description":"List of images to disallow for the namespace. For example, `['nginx:latest', 'redis:latest']`","description_kind":"plain","optional":true},"name":{"type":"string","description":"Name of the namespace. This is the name of the Kubernetes namespace in the cluster.","description_kind":"plain","required":true},"resource_allocation":{"type":["map","string"],"description":"Resource allocation for the namespace. This is a map containing the resource type and the resource value. For example, `{cpu_cores: '2', memory_MiB: '2048'}`","description_kind":"plain","required":true}},"description":"The namespaces for the cluster.","description_kind":"plain"}},"scan_policy":{"nesting_mode":"list","block":{"attributes":{"configuration_scan_schedule":{"type":"string","description":"The schedule for configuration scan.","description_kind":"plain","required":true},"conformance_scan_schedule":{"type":"string","description":"The schedule for conformance scan.","description_kind":"plain","required":true},"penetration_scan_schedule":{"type":"string","description":"The schedule for penetration scan.","description_kind":"plain","required":true}},"description":"The scan policy for the cluster.","description_kind":"plain"},"max_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":"Resource for managing Edge Native clusters in Spectro Cloud through Palette.","description_kind":"plain"}},"spectrocloud_cluster_edge_vsphere":{"version":0,"block":{"attributes":{"admin_kube_config":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using `kubectl`, With admin privilege.","description_kind":"plain","computed":true},"cloud_config_id":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type `azure`.","description_kind":"plain","deprecated":true,"computed":true},"cluster_meta_attribute":{"type":"string","description":"`cluster_meta_attribute` can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`","description_kind":"plain","optional":true},"context":{"type":"string","description":"The context of the Edge cluster. Allowed values are `project` or `tenant`. Default is `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.","description_kind":"plain","optional":true},"edge_host_uid":{"type":"string","description_kind":"plain","required":true},"force_delete":{"type":"bool","description":"If set to `true`, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.","description_kind":"plain","optional":true},"force_delete_delay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using `kubectl`.","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true},"os_patch_after":{"type":"string","description":"Date and time after which to patch cluster `RFC3339: 2006-01-02T15:04:05Z07:00`","description_kind":"plain","optional":true},"os_patch_on_boot":{"type":"bool","description":"Whether to apply OS patch on boot. Default is `false`.","description_kind":"plain","optional":true},"os_patch_schedule":{"type":"string","description":"Cron schedule for OS patching. This must be in the form of `0 0 * * *`.","description_kind":"plain","optional":true},"pause_agent_upgrades":{"type":"string","description":"The pause agent upgrades setting allows to control the automatic upgrade of the Palette component and agent for an individual cluster. The default value is `unlock`, meaning upgrades occur automatically. Setting it to `lock` pauses automatic agent upgrades for the cluster.","description_kind":"plain","optional":true},"review_repave_state":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.","description_kind":"plain","optional":true},"skip_completion":{"type":"bool","description":"If `true`, the cluster will be created asynchronously. Default value is `false`.","description_kind":"plain","optional":true},"tags":{"type":["set","string"],"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.","description_kind":"plain","optional":true}},"block_types":{"backup_policy":{"nesting_mode":"list","block":{"attributes":{"backup_location_id":{"type":"string","description":"The ID of the backup location to use for the backup.","description_kind":"plain","required":true},"cluster_uids":{"type":["set","string"],"description":"The list of cluster UIDs to include in the backup. If `include_all_clusters` is set to `true`, then all clusters will be included.","description_kind":"plain","optional":true},"expiry_in_hour":{"type":"number","description":"The number of hours after which the backup will be deleted. For example, if the expiry is set to 24, the backup will be deleted after 24 hours.","description_kind":"plain","required":true},"include_all_clusters":{"type":"bool","description":"Whether to include all clusters in the backup. If set to false, only the clusters specified in `cluster_uids` will be included.","description_kind":"plain","optional":true},"include_cluster_resources":{"type":"bool","description":"Whether to include the cluster resources in the backup. If set to false, only the cluster configuration and disks will be backed up.","description_kind":"plain","optional":true},"include_disks":{"type":"bool","description":"Whether to include the disks in the backup. If set to false, only the cluster configuration will be backed up.","description_kind":"plain","optional":true},"namespaces":{"type":["set","string"],"description":"The list of Kubernetes namespaces to include in the backup. If not specified, all namespaces will be included.","description_kind":"plain","optional":true},"prefix":{"type":"string","description":"Prefix for the backup name. The backup name will be of the format \u003cprefix\u003e-\u003ccluster-name\u003e-\u003ctimestamp\u003e.","description_kind":"plain","required":true},"schedule":{"type":"string","description":"The schedule for the backup. The schedule is specified in cron format. For example, to run the backup every day at 1:00 AM, the schedule should be set to `0 1 * * *`.","description_kind":"plain","required":true}},"description":"The backup policy for the cluster. If not specified, no backups will be taken.","description_kind":"plain"},"max_items":1},"cloud_config":{"nesting_mode":"list","block":{"attributes":{"datacenter":{"type":"string","description_kind":"plain","required":true},"folder":{"type":"string","description_kind":"plain","required":true},"image_template_folder":{"type":"string","description_kind":"plain","optional":true},"network_search_domain":{"type":"string","description_kind":"plain","optional":true},"network_type":{"type":"string","description_kind":"plain","optional":true},"ssh_key":{"type":"string","description":"Public SSH Key (Secure Shell) to establish, administer, and communicate with remote clusters, `ssh_key \u0026 ssh_keys` are mutually exclusive.","description_kind":"plain","optional":true},"ssh_keys":{"type":["set","string"],"description":"List of public SSH (Secure Shell) keys to establish, administer, and communicate with remote clusters, `ssh_key \u0026 ssh_keys` are mutually exclusive.","description_kind":"plain","optional":true},"static_ip":{"type":"bool","description_kind":"plain","optional":true},"vip":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1},"cluster_profile":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The ID of the cluster profile.","description_kind":"plain","required":true}},"block_types":{"pack":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile. ","description_kind":"plain","required":true},"registry_uid":{"type":"string","description":"The registry UID of the pack. The registry UID is the unique identifier of the registry. This attribute is required if there is more than one registry that contains a pack with the same name. ","description_kind":"plain","optional":true},"tag":{"type":"string","description":"The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. ","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`.","description_kind":"plain","optional":true},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the [`spectrocloud_pack`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) data source. This value is required if the pack type is `spectro` and for `helm` if the chart is from a public helm registry.","description_kind":"plain","optional":true,"computed":true},"values":{"type":"string","description":"The values of the pack. The values are the configuration values of the pack. The values are specified in YAML format. ","description_kind":"plain","optional":true}},"block_types":{"manifest":{"nesting_mode":"list","block":{"attributes":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest. ","description_kind":"plain","required":true},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack. ","description_kind":"plain","required":true},"uid":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}}},"description":"For packs of type `spectro`, `helm`, and `manifest`, at least one pack must be specified.","description_kind":"plain"}}},"description_kind":"plain"}},"cluster_rbac_binding":{"nesting_mode":"list","block":{"attributes":{"namespace":{"type":"string","description":"The Kubernetes namespace of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"role":{"type":["map","string"],"description":"The role of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`.","description_kind":"plain","required":true}},"block_types":{"subjects":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the subject. Required if 'type' is set to 'User' or 'Group'.","description_kind":"plain","required":true},"namespace":{"type":"string","description":"The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description":"The RBAC binding for the cluster.","description_kind":"plain"}},"host_config":{"nesting_mode":"list","block":{"attributes":{"external_traffic_policy":{"type":"string","description":"The external traffic policy for the cluster.","description_kind":"plain","optional":true},"host_endpoint_type":{"type":"string","description":"The type of endpoint for the cluster. Can be either 'Ingress' or 'LoadBalancer'. The default is 'Ingress'.","description_kind":"plain","optional":true},"ingress_host":{"type":"string","description":"The host for the Ingress endpoint. Required if 'host_endpoint_type' is set to 'Ingress'.","description_kind":"plain","optional":true},"load_balancer_source_ranges":{"type":"string","description":"The source ranges for the load balancer. Required if 'host_endpoint_type' is set to 'LoadBalancer'.","description_kind":"plain","optional":true}},"description":"The host configuration for the cluster.","description_kind":"plain"}},"location_config":{"nesting_mode":"list","block":{"attributes":{"country_code":{"type":"string","description":"The country code of the country the cluster is located in.","description_kind":"plain","optional":true},"country_name":{"type":"string","description":"The name of the country.","description_kind":"plain","optional":true},"latitude":{"type":"number","description":"The latitude coordinates value.","description_kind":"plain","required":true},"longitude":{"type":"number","description":"The longitude coordinates value.","description_kind":"plain","required":true},"region_code":{"type":"string","description":"The region code of where the cluster is located in.","description_kind":"plain","optional":true},"region_name":{"type":"string","description":"The name of the region.","description_kind":"plain","optional":true}},"description_kind":"plain"}},"machine_pool":{"nesting_mode":"list","block":{"attributes":{"additional_labels":{"type":["map","string"],"description_kind":"plain","optional":true},"control_plane":{"type":"bool","description":"Whether this machine pool is a control plane. Defaults to `false`.","description_kind":"plain","optional":true},"control_plane_as_worker":{"type":"bool","description":"Whether this machine pool is a control plane and a worker. Defaults to `false`.","description_kind":"plain","optional":true},"count":{"type":"number","description":"Number of nodes in the machine pool.","description_kind":"plain","required":true},"name":{"type":"string","description_kind":"plain","required":true},"node_repave_interval":{"type":"number","description":"Minimum number of seconds node should be Ready, before the next node is selected for repave. Default value is `0`, Applicable only for worker pools.","description_kind":"plain","optional":true},"update_strategy":{"type":"string","description":"Update strategy for the machine pool. Valid values are `RollingUpdateScaleOut` and `RollingUpdateScaleIn`.","description_kind":"plain","optional":true}},"block_types":{"instance_type":{"nesting_mode":"list","block":{"attributes":{"cpu":{"type":"number","description_kind":"plain","required":true},"disk_size_gb":{"type":"number","description_kind":"plain","required":true},"memory_mb":{"type":"number","description_kind":"plain","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1},"node":{"nesting_mode":"list","block":{"attributes":{"action":{"type":"string","description":"The action to perform on the node. Valid values are: `cordon`, `uncordon`.","description_kind":"plain","required":true},"node_id":{"type":"string","description":"The node_id of the node, For example `i-07f899a33dee624f7`","description_kind":"plain","required":true}},"description_kind":"plain"}},"placement":{"nesting_mode":"list","block":{"attributes":{"cluster":{"type":"string","description_kind":"plain","required":true},"datastore":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","computed":true},"network":{"type":"string","description_kind":"plain","required":true},"resource_pool":{"type":"string","description_kind":"plain","required":true},"static_ip_pool_id":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"},"min_items":1},"taints":{"nesting_mode":"list","block":{"attributes":{"effect":{"type":"string","description":"The effect of the taint. Allowed values are: `NoSchedule`, `PreferNoSchedule` or `NoExecute`.","description_kind":"plain","required":true},"key":{"type":"string","description":"The key of the taint.","description_kind":"plain","required":true},"value":{"type":"string","description":"The value of the taint.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description_kind":"plain"},"min_items":1},"namespaces":{"nesting_mode":"list","block":{"attributes":{"images_blacklist":{"type":["list","string"],"description":"List of images to disallow for the namespace. For example, `['nginx:latest', 'redis:latest']`","description_kind":"plain","optional":true},"name":{"type":"string","description":"Name of the namespace. This is the name of the Kubernetes namespace in the cluster.","description_kind":"plain","required":true},"resource_allocation":{"type":["map","string"],"description":"Resource allocation for the namespace. This is a map containing the resource type and the resource value. For example, `{cpu_cores: '2', memory_MiB: '2048'}`","description_kind":"plain","required":true}},"description":"The namespaces for the cluster.","description_kind":"plain"}},"scan_policy":{"nesting_mode":"list","block":{"attributes":{"configuration_scan_schedule":{"type":"string","description":"The schedule for configuration scan.","description_kind":"plain","required":true},"conformance_scan_schedule":{"type":"string","description":"The schedule for conformance scan.","description_kind":"plain","required":true},"penetration_scan_schedule":{"type":"string","description":"The schedule for penetration scan.","description_kind":"plain","required":true}},"description":"The scan policy for the cluster.","description_kind":"plain"},"max_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"}},"spectrocloud_cluster_eks":{"version":2,"block":{"attributes":{"admin_kube_config":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using `kubectl`, With admin privilege.","description_kind":"plain","computed":true},"apply_setting":{"type":"string","description":"The setting to apply the cluster profile. `DownloadAndInstall` will download and install packs in one action. `DownloadAndInstallLater` will only download artifact and postpone install for later. Default value is `DownloadAndInstall`.","description_kind":"plain","optional":true},"cloud_account_id":{"type":"string","description":"The AWS cloud account id to use for this cluster.","description_kind":"plain","required":true},"cloud_config_id":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type `azure`.","description_kind":"plain","deprecated":true,"computed":true},"cluster_meta_attribute":{"type":"string","description":"`cluster_meta_attribute` can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`","description_kind":"plain","optional":true},"context":{"type":"string","description":"The context of the EKS cluster. Allowed values are `project` or `tenant`. Default is `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.","description_kind":"plain","optional":true},"force_delete":{"type":"bool","description":"If set to `true`, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.","description_kind":"plain","optional":true},"force_delete_delay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using `kubectl`.","description_kind":"plain","computed":true},"location_config":{"type":["list",["object",{"country_code":"string","country_name":"string","latitude":"number","longitude":"number","region_code":"string","region_name":"string"}]],"description":"The location of the cluster.","description_kind":"plain","computed":true},"name":{"type":"string","description":"The name of the cluster.","description_kind":"plain","required":true},"os_patch_after":{"type":"string","description":"Date and time after which to patch cluster `RFC3339: 2006-01-02T15:04:05Z07:00`","description_kind":"plain","optional":true},"os_patch_on_boot":{"type":"bool","description":"Whether to apply OS patch on boot. Default is `false`.","description_kind":"plain","optional":true},"os_patch_schedule":{"type":"string","description":"Cron schedule for OS patching. This must be in the form of `0 0 * * *`.","description_kind":"plain","optional":true},"pause_agent_upgrades":{"type":"string","description":"The pause agent upgrades setting allows to control the automatic upgrade of the Palette component and agent for an individual cluster. The default value is `unlock`, meaning upgrades occur automatically. Setting it to `lock` pauses automatic agent upgrades for the cluster.","description_kind":"plain","optional":true},"review_repave_state":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.","description_kind":"plain","optional":true},"skip_completion":{"type":"bool","description":"If `true`, the cluster will be created asynchronously. Default value is `false`.","description_kind":"plain","optional":true},"tags":{"type":["set","string"],"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.","description_kind":"plain","optional":true}},"block_types":{"backup_policy":{"nesting_mode":"list","block":{"attributes":{"backup_location_id":{"type":"string","description":"The ID of the backup location to use for the backup.","description_kind":"plain","required":true},"cluster_uids":{"type":["set","string"],"description":"The list of cluster UIDs to include in the backup. If `include_all_clusters` is set to `true`, then all clusters will be included.","description_kind":"plain","optional":true},"expiry_in_hour":{"type":"number","description":"The number of hours after which the backup will be deleted. For example, if the expiry is set to 24, the backup will be deleted after 24 hours.","description_kind":"plain","required":true},"include_all_clusters":{"type":"bool","description":"Whether to include all clusters in the backup. If set to false, only the clusters specified in `cluster_uids` will be included.","description_kind":"plain","optional":true},"include_cluster_resources":{"type":"bool","description":"Whether to include the cluster resources in the backup. If set to false, only the cluster configuration and disks will be backed up.","description_kind":"plain","optional":true},"include_disks":{"type":"bool","description":"Whether to include the disks in the backup. If set to false, only the cluster configuration will be backed up.","description_kind":"plain","optional":true},"namespaces":{"type":["set","string"],"description":"The list of Kubernetes namespaces to include in the backup. If not specified, all namespaces will be included.","description_kind":"plain","optional":true},"prefix":{"type":"string","description":"Prefix for the backup name. The backup name will be of the format \u003cprefix\u003e-\u003ccluster-name\u003e-\u003ctimestamp\u003e.","description_kind":"plain","required":true},"schedule":{"type":"string","description":"The schedule for the backup. The schedule is specified in cron format. For example, to run the backup every day at 1:00 AM, the schedule should be set to `0 1 * * *`.","description_kind":"plain","required":true}},"description":"The backup policy for the cluster. If not specified, no backups will be taken.","description_kind":"plain"},"max_items":1},"cloud_config":{"nesting_mode":"list","block":{"attributes":{"az_subnets":{"type":["map","string"],"description":"Mutually exclusive with `azs`. Use for Static provisioning.","description_kind":"plain","optional":true},"azs":{"type":["list","string"],"description":"Mutually exclusive with `az_subnets`. Use for Dynamic provisioning.","description_kind":"plain","optional":true},"encryption_config_arn":{"type":"string","description":"The ARN of the KMS encryption key to use for the cluster. Refer to the [Enable Secrets Encryption for EKS Cluster](https://docs.spectrocloud.com/clusters/public-cloud/aws/enable-secrets-encryption-kms-key/) for additional guidance.","description_kind":"plain","optional":true},"endpoint_access":{"type":"string","description":"Choose between `private`, `public`, or `private_and_public` to define how communication is established with the endpoint for the managed Kubernetes API server and your cluster. The default value is `public`.","description_kind":"plain","optional":true},"private_access_cidrs":{"type":["set","string"],"description":"List of CIDR blocks that define the allowed private access to the resource. Only requests originating from addresses within these CIDR blocks will be permitted to access the resource.","description_kind":"plain","optional":true},"public_access_cidrs":{"type":["set","string"],"description":"List of CIDR blocks that define the allowed public access to the resource. Requests originating from addresses within these CIDR blocks will be permitted to access the resource. All other addresses will be denied access.","description_kind":"plain","optional":true},"region":{"type":"string","description_kind":"plain","required":true},"ssh_key_name":{"type":"string","description":"Public SSH key to be used for the cluster nodes.","description_kind":"plain","optional":true},"vpc_id":{"type":"string","description_kind":"plain","optional":true}},"description":"The AWS environment configuration settings such as network parameters and encryption parameters that apply to this cluster.","description_kind":"plain"},"min_items":1,"max_items":1},"cluster_profile":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The ID of the cluster profile.","description_kind":"plain","required":true}},"block_types":{"pack":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile. ","description_kind":"plain","required":true},"registry_uid":{"type":"string","description":"The registry UID of the pack. The registry UID is the unique identifier of the registry. This attribute is required if there is more than one registry that contains a pack with the same name. ","description_kind":"plain","optional":true},"tag":{"type":"string","description":"The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. ","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`.","description_kind":"plain","optional":true},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the [`spectrocloud_pack`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) data source. This value is required if the pack type is `spectro` and for `helm` if the chart is from a public helm registry.","description_kind":"plain","optional":true,"computed":true},"values":{"type":"string","description":"The values of the pack. The values are the configuration values of the pack. The values are specified in YAML format. ","description_kind":"plain","optional":true}},"block_types":{"manifest":{"nesting_mode":"list","block":{"attributes":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest. ","description_kind":"plain","required":true},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack. ","description_kind":"plain","required":true},"uid":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}}},"description":"For packs of type `spectro`, `helm`, and `manifest`, at least one pack must be specified.","description_kind":"plain"}}},"description_kind":"plain"}},"cluster_rbac_binding":{"nesting_mode":"list","block":{"attributes":{"namespace":{"type":"string","description":"The Kubernetes namespace of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"role":{"type":["map","string"],"description":"The role of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`.","description_kind":"plain","required":true}},"block_types":{"subjects":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the subject. Required if 'type' is set to 'User' or 'Group'.","description_kind":"plain","required":true},"namespace":{"type":"string","description":"The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description":"The RBAC binding for the cluster.","description_kind":"plain"}},"fargate_profile":{"nesting_mode":"list","block":{"attributes":{"additional_tags":{"type":["map","string"],"description_kind":"plain","optional":true},"name":{"type":"string","description_kind":"plain","required":true},"subnets":{"type":["list","string"],"description_kind":"plain","optional":true}},"block_types":{"selector":{"nesting_mode":"list","block":{"attributes":{"labels":{"type":["map","string"],"description_kind":"plain","optional":true},"namespace":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"},"min_items":1}},"description_kind":"plain"}},"host_config":{"nesting_mode":"list","block":{"attributes":{"external_traffic_policy":{"type":"string","description":"The external traffic policy for the cluster.","description_kind":"plain","optional":true},"host_endpoint_type":{"type":"string","description":"The type of endpoint for the cluster. Can be either 'Ingress' or 'LoadBalancer'. The default is 'Ingress'.","description_kind":"plain","optional":true},"ingress_host":{"type":"string","description":"The host for the Ingress endpoint. Required if 'host_endpoint_type' is set to 'Ingress'.","description_kind":"plain","optional":true},"load_balancer_source_ranges":{"type":"string","description":"The source ranges for the load balancer. Required if 'host_endpoint_type' is set to 'LoadBalancer'.","description_kind":"plain","optional":true}},"description":"The host configuration for the cluster.","description_kind":"plain"}},"machine_pool":{"nesting_mode":"list","block":{"attributes":{"additional_labels":{"type":["map","string"],"description_kind":"plain","optional":true},"az_subnets":{"type":["map","string"],"description_kind":"plain","optional":true},"azs":{"type":["list","string"],"description_kind":"plain","optional":true},"capacity_type":{"type":"string","description":"Capacity type is an instance type, can be 'on-demand' or 'spot'. Defaults to 'on-demand'.","description_kind":"plain","optional":true},"count":{"type":"number","description":"Number of nodes in the machine pool.","description_kind":"plain","required":true},"disk_size_gb":{"type":"number","description_kind":"plain","required":true},"instance_type":{"type":"string","description_kind":"plain","required":true},"max":{"type":"number","description":"Maximum number of nodes in the machine pool. This is used for autoscaling the machine pool.","description_kind":"plain","optional":true},"max_price":{"type":"string","description_kind":"plain","optional":true},"min":{"type":"number","description":"Minimum number of nodes in the machine pool. This is used for autoscaling the machine pool.","description_kind":"plain","optional":true},"name":{"type":"string","description_kind":"plain","required":true},"update_strategy":{"type":"string","description":"Update strategy for the machine pool. Valid values are `RollingUpdateScaleOut` and `RollingUpdateScaleIn`.","description_kind":"plain","optional":true}},"block_types":{"eks_launch_template":{"nesting_mode":"list","block":{"attributes":{"additional_security_groups":{"type":["set","string"],"description":"Additional security groups to attach to the instance.","description_kind":"plain","optional":true},"ami_id":{"type":"string","description":"The ID of the custom Amazon Machine Image (AMI).","description_kind":"plain","optional":true},"root_volume_iops":{"type":"number","description":"The number of input/output operations per second (IOPS) for the root volume.","description_kind":"plain","optional":true},"root_volume_throughput":{"type":"number","description":"The throughput of the root volume in MiB/s.","description_kind":"plain","optional":true},"root_volume_type":{"type":"string","description":"The type of the root volume.","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"node":{"nesting_mode":"list","block":{"attributes":{"action":{"type":"string","description":"The action to perform on the node. Valid values are: `cordon`, `uncordon`.","description_kind":"plain","required":true},"node_id":{"type":"string","description":"The node_id of the node, For example `i-07f899a33dee624f7`","description_kind":"plain","required":true}},"description_kind":"plain"}},"taints":{"nesting_mode":"list","block":{"attributes":{"effect":{"type":"string","description":"The effect of the taint. Allowed values are: `NoSchedule`, `PreferNoSchedule` or `NoExecute`.","description_kind":"plain","required":true},"key":{"type":"string","description":"The key of the taint.","description_kind":"plain","required":true},"value":{"type":"string","description":"The value of the taint.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description":"The machine pool configuration for the cluster.","description_kind":"plain"},"min_items":1},"namespaces":{"nesting_mode":"list","block":{"attributes":{"images_blacklist":{"type":["list","string"],"description":"List of images to disallow for the namespace. For example, `['nginx:latest', 'redis:latest']`","description_kind":"plain","optional":true},"name":{"type":"string","description":"Name of the namespace. This is the name of the Kubernetes namespace in the cluster.","description_kind":"plain","required":true},"resource_allocation":{"type":["map","string"],"description":"Resource allocation for the namespace. This is a map containing the resource type and the resource value. For example, `{cpu_cores: '2', memory_MiB: '2048'}`","description_kind":"plain","required":true}},"description":"The namespaces for the cluster.","description_kind":"plain"}},"scan_policy":{"nesting_mode":"list","block":{"attributes":{"configuration_scan_schedule":{"type":"string","description":"The schedule for configuration scan.","description_kind":"plain","required":true},"conformance_scan_schedule":{"type":"string","description":"The schedule for conformance scan.","description_kind":"plain","required":true},"penetration_scan_schedule":{"type":"string","description":"The schedule for penetration scan.","description_kind":"plain","required":true}},"description":"The scan policy for the cluster.","description_kind":"plain"},"max_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":"Resource for managing EKS clusters in Spectro Cloud through Palette.","description_kind":"plain"}},"spectrocloud_cluster_gcp":{"version":2,"block":{"attributes":{"admin_kube_config":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using `kubectl`, With admin privilege.","description_kind":"plain","computed":true},"apply_setting":{"type":"string","description":"The setting to apply the cluster profile. `DownloadAndInstall` will download and install packs in one action. `DownloadAndInstallLater` will only download artifact and postpone install for later. Default value is `DownloadAndInstall`.","description_kind":"plain","optional":true},"cloud_account_id":{"type":"string","description_kind":"plain","required":true},"cloud_config_id":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type `azure`.","description_kind":"plain","deprecated":true,"computed":true},"cluster_meta_attribute":{"type":"string","description":"`cluster_meta_attribute` can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`","description_kind":"plain","optional":true},"context":{"type":"string","description":"The context of the GCP cluster. Allowed values are `project` or `tenant`. Default is `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.","description_kind":"plain","optional":true},"force_delete":{"type":"bool","description":"If set to `true`, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.","description_kind":"plain","optional":true},"force_delete_delay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using `kubectl`.","description_kind":"plain","computed":true},"location_config":{"type":["list",["object",{"country_code":"string","country_name":"string","latitude":"number","longitude":"number","region_code":"string","region_name":"string"}]],"description":"The location of the cluster.","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true},"os_patch_after":{"type":"string","description":"Date and time after which to patch cluster `RFC3339: 2006-01-02T15:04:05Z07:00`","description_kind":"plain","optional":true},"os_patch_on_boot":{"type":"bool","description":"Whether to apply OS patch on boot. Default is `false`.","description_kind":"plain","optional":true},"os_patch_schedule":{"type":"string","description":"Cron schedule for OS patching. This must be in the form of `0 0 * * *`.","description_kind":"plain","optional":true},"pause_agent_upgrades":{"type":"string","description":"The pause agent upgrades setting allows to control the automatic upgrade of the Palette component and agent for an individual cluster. The default value is `unlock`, meaning upgrades occur automatically. Setting it to `lock` pauses automatic agent upgrades for the cluster.","description_kind":"plain","optional":true},"review_repave_state":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.","description_kind":"plain","optional":true},"skip_completion":{"type":"bool","description":"If `true`, the cluster will be created asynchronously. Default value is `false`.","description_kind":"plain","optional":true},"tags":{"type":["set","string"],"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.","description_kind":"plain","optional":true}},"block_types":{"backup_policy":{"nesting_mode":"list","block":{"attributes":{"backup_location_id":{"type":"string","description":"The ID of the backup location to use for the backup.","description_kind":"plain","required":true},"cluster_uids":{"type":["set","string"],"description":"The list of cluster UIDs to include in the backup. If `include_all_clusters` is set to `true`, then all clusters will be included.","description_kind":"plain","optional":true},"expiry_in_hour":{"type":"number","description":"The number of hours after which the backup will be deleted. For example, if the expiry is set to 24, the backup will be deleted after 24 hours.","description_kind":"plain","required":true},"include_all_clusters":{"type":"bool","description":"Whether to include all clusters in the backup. If set to false, only the clusters specified in `cluster_uids` will be included.","description_kind":"plain","optional":true},"include_cluster_resources":{"type":"bool","description":"Whether to include the cluster resources in the backup. If set to false, only the cluster configuration and disks will be backed up.","description_kind":"plain","optional":true},"include_disks":{"type":"bool","description":"Whether to include the disks in the backup. If set to false, only the cluster configuration will be backed up.","description_kind":"plain","optional":true},"namespaces":{"type":["set","string"],"description":"The list of Kubernetes namespaces to include in the backup. If not specified, all namespaces will be included.","description_kind":"plain","optional":true},"prefix":{"type":"string","description":"Prefix for the backup name. The backup name will be of the format \u003cprefix\u003e-\u003ccluster-name\u003e-\u003ctimestamp\u003e.","description_kind":"plain","required":true},"schedule":{"type":"string","description":"The schedule for the backup. The schedule is specified in cron format. For example, to run the backup every day at 1:00 AM, the schedule should be set to `0 1 * * *`.","description_kind":"plain","required":true}},"description":"The backup policy for the cluster. If not specified, no backups will be taken.","description_kind":"plain"},"max_items":1},"cloud_config":{"nesting_mode":"list","block":{"attributes":{"network":{"type":"string","description_kind":"plain","optional":true},"project":{"type":"string","description_kind":"plain","required":true},"region":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1},"cluster_profile":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The ID of the cluster profile.","description_kind":"plain","required":true}},"block_types":{"pack":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile. ","description_kind":"plain","required":true},"registry_uid":{"type":"string","description":"The registry UID of the pack. The registry UID is the unique identifier of the registry. This attribute is required if there is more than one registry that contains a pack with the same name. ","description_kind":"plain","optional":true},"tag":{"type":"string","description":"The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. ","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`.","description_kind":"plain","optional":true},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the [`spectrocloud_pack`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) data source. This value is required if the pack type is `spectro` and for `helm` if the chart is from a public helm registry.","description_kind":"plain","optional":true,"computed":true},"values":{"type":"string","description":"The values of the pack. The values are the configuration values of the pack. The values are specified in YAML format. ","description_kind":"plain","optional":true}},"block_types":{"manifest":{"nesting_mode":"list","block":{"attributes":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest. ","description_kind":"plain","required":true},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack. ","description_kind":"plain","required":true},"uid":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}}},"description":"For packs of type `spectro`, `helm`, and `manifest`, at least one pack must be specified.","description_kind":"plain"}}},"description_kind":"plain"}},"cluster_rbac_binding":{"nesting_mode":"list","block":{"attributes":{"namespace":{"type":"string","description":"The Kubernetes namespace of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"role":{"type":["map","string"],"description":"The role of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`.","description_kind":"plain","required":true}},"block_types":{"subjects":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the subject. Required if 'type' is set to 'User' or 'Group'.","description_kind":"plain","required":true},"namespace":{"type":"string","description":"The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description":"The RBAC binding for the cluster.","description_kind":"plain"}},"host_config":{"nesting_mode":"list","block":{"attributes":{"external_traffic_policy":{"type":"string","description":"The external traffic policy for the cluster.","description_kind":"plain","optional":true},"host_endpoint_type":{"type":"string","description":"The type of endpoint for the cluster. Can be either 'Ingress' or 'LoadBalancer'. The default is 'Ingress'.","description_kind":"plain","optional":true},"ingress_host":{"type":"string","description":"The host for the Ingress endpoint. Required if 'host_endpoint_type' is set to 'Ingress'.","description_kind":"plain","optional":true},"load_balancer_source_ranges":{"type":"string","description":"The source ranges for the load balancer. Required if 'host_endpoint_type' is set to 'LoadBalancer'.","description_kind":"plain","optional":true}},"description":"The host configuration for the cluster.","description_kind":"plain"}},"machine_pool":{"nesting_mode":"set","block":{"attributes":{"additional_labels":{"type":["map","string"],"description_kind":"plain","optional":true},"azs":{"type":["set","string"],"description_kind":"plain","required":true},"control_plane":{"type":"bool","description":"Whether this machine pool is a control plane. Defaults to `false`.","description_kind":"plain","optional":true},"control_plane_as_worker":{"type":"bool","description":"Whether this machine pool is a control plane and a worker. Defaults to `false`.","description_kind":"plain","optional":true},"count":{"type":"number","description":"Number of nodes in the machine pool.","description_kind":"plain","required":true},"disk_size_gb":{"type":"number","description_kind":"plain","optional":true},"instance_type":{"type":"string","description_kind":"plain","required":true},"name":{"type":"string","description_kind":"plain","required":true},"node_repave_interval":{"type":"number","description":"Minimum number of seconds node should be Ready, before the next node is selected for repave. Default value is `0`, Applicable only for worker pools.","description_kind":"plain","optional":true},"update_strategy":{"type":"string","description":"Update strategy for the machine pool. Valid values are `RollingUpdateScaleOut` and `RollingUpdateScaleIn`.","description_kind":"plain","optional":true}},"block_types":{"node":{"nesting_mode":"list","block":{"attributes":{"action":{"type":"string","description":"The action to perform on the node. Valid values are: `cordon`, `uncordon`.","description_kind":"plain","required":true},"node_id":{"type":"string","description":"The node_id of the node, For example `i-07f899a33dee624f7`","description_kind":"plain","required":true}},"description_kind":"plain"}},"taints":{"nesting_mode":"list","block":{"attributes":{"effect":{"type":"string","description":"The effect of the taint. Allowed values are: `NoSchedule`, `PreferNoSchedule` or `NoExecute`.","description_kind":"plain","required":true},"key":{"type":"string","description":"The key of the taint.","description_kind":"plain","required":true},"value":{"type":"string","description":"The value of the taint.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description_kind":"plain"},"min_items":1},"namespaces":{"nesting_mode":"list","block":{"attributes":{"images_blacklist":{"type":["list","string"],"description":"List of images to disallow for the namespace. For example, `['nginx:latest', 'redis:latest']`","description_kind":"plain","optional":true},"name":{"type":"string","description":"Name of the namespace. This is the name of the Kubernetes namespace in the cluster.","description_kind":"plain","required":true},"resource_allocation":{"type":["map","string"],"description":"Resource allocation for the namespace. This is a map containing the resource type and the resource value. For example, `{cpu_cores: '2', memory_MiB: '2048'}`","description_kind":"plain","required":true}},"description":"The namespaces for the cluster.","description_kind":"plain"}},"scan_policy":{"nesting_mode":"list","block":{"attributes":{"configuration_scan_schedule":{"type":"string","description":"The schedule for configuration scan.","description_kind":"plain","required":true},"conformance_scan_schedule":{"type":"string","description":"The schedule for conformance scan.","description_kind":"plain","required":true},"penetration_scan_schedule":{"type":"string","description":"The schedule for penetration scan.","description_kind":"plain","required":true}},"description":"The scan policy for the cluster.","description_kind":"plain"},"max_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":"Resource for managing GCP clusters in Spectro Cloud through Palette.","description_kind":"plain"}},"spectrocloud_cluster_gke":{"version":1,"block":{"attributes":{"admin_kube_config":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using `kubectl`, With admin privilege.","description_kind":"plain","computed":true},"apply_setting":{"type":"string","description":"The setting to apply the cluster profile. `DownloadAndInstall` will download and install packs in one action. `DownloadAndInstallLater` will only download artifact and postpone install for later. Default value is `DownloadAndInstall`.","description_kind":"plain","optional":true},"cloud_account_id":{"type":"string","description_kind":"plain","required":true},"cloud_config_id":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type `azure`.","description_kind":"plain","deprecated":true,"computed":true},"cluster_meta_attribute":{"type":"string","description":"`cluster_meta_attribute` can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`","description_kind":"plain","optional":true},"context":{"type":"string","description":"The context of the GKE cluster. Allowed values are `project` or `tenant`. Default is `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.","description_kind":"plain","optional":true},"force_delete":{"type":"bool","description":"If set to `true`, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.","description_kind":"plain","optional":true},"force_delete_delay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using `kubectl`.","description_kind":"plain","computed":true},"location_config":{"type":["list",["object",{"country_code":"string","country_name":"string","latitude":"number","longitude":"number","region_code":"string","region_name":"string"}]],"description":"The location of the cluster.","description_kind":"plain","computed":true},"name":{"type":"string","description":"The name of the cluster.","description_kind":"plain","required":true},"os_patch_after":{"type":"string","description":"Date and time after which to patch cluster `RFC3339: 2006-01-02T15:04:05Z07:00`","description_kind":"plain","optional":true},"os_patch_on_boot":{"type":"bool","description":"Whether to apply OS patch on boot. Default is `false`.","description_kind":"plain","optional":true},"os_patch_schedule":{"type":"string","description":"Cron schedule for OS patching. This must be in the form of `0 0 * * *`.","description_kind":"plain","optional":true},"pause_agent_upgrades":{"type":"string","description":"The pause agent upgrades setting allows to control the automatic upgrade of the Palette component and agent for an individual cluster. The default value is `unlock`, meaning upgrades occur automatically. Setting it to `lock` pauses automatic agent upgrades for the cluster.","description_kind":"plain","optional":true},"review_repave_state":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.","description_kind":"plain","optional":true},"skip_completion":{"type":"bool","description":"If `true`, the cluster will be created asynchronously. Default value is `false`.","description_kind":"plain","optional":true},"tags":{"type":["set","string"],"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.","description_kind":"plain","optional":true},"update_worker_pool_in_parallel":{"type":"bool","description_kind":"plain","optional":true}},"block_types":{"backup_policy":{"nesting_mode":"list","block":{"attributes":{"backup_location_id":{"type":"string","description":"The ID of the backup location to use for the backup.","description_kind":"plain","required":true},"cluster_uids":{"type":["set","string"],"description":"The list of cluster UIDs to include in the backup. If `include_all_clusters` is set to `true`, then all clusters will be included.","description_kind":"plain","optional":true},"expiry_in_hour":{"type":"number","description":"The number of hours after which the backup will be deleted. For example, if the expiry is set to 24, the backup will be deleted after 24 hours.","description_kind":"plain","required":true},"include_all_clusters":{"type":"bool","description":"Whether to include all clusters in the backup. If set to false, only the clusters specified in `cluster_uids` will be included.","description_kind":"plain","optional":true},"include_cluster_resources":{"type":"bool","description":"Whether to include the cluster resources in the backup. If set to false, only the cluster configuration and disks will be backed up.","description_kind":"plain","optional":true},"include_disks":{"type":"bool","description":"Whether to include the disks in the backup. If set to false, only the cluster configuration will be backed up.","description_kind":"plain","optional":true},"namespaces":{"type":["set","string"],"description":"The list of Kubernetes namespaces to include in the backup. If not specified, all namespaces will be included.","description_kind":"plain","optional":true},"prefix":{"type":"string","description":"Prefix for the backup name. The backup name will be of the format \u003cprefix\u003e-\u003ccluster-name\u003e-\u003ctimestamp\u003e.","description_kind":"plain","required":true},"schedule":{"type":"string","description":"The schedule for the backup. The schedule is specified in cron format. For example, to run the backup every day at 1:00 AM, the schedule should be set to `0 1 * * *`.","description_kind":"plain","required":true}},"description":"The backup policy for the cluster. If not specified, no backups will be taken.","description_kind":"plain"},"max_items":1},"cloud_config":{"nesting_mode":"list","block":{"attributes":{"project":{"type":"string","description":"GCP project name.","description_kind":"plain","required":true},"region":{"type":"string","description_kind":"plain","required":true}},"description":"The GKE environment configuration settings such as project parameters and region parameters that apply to this cluster.","description_kind":"plain"},"min_items":1,"max_items":1},"cluster_profile":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The ID of the cluster profile.","description_kind":"plain","required":true}},"block_types":{"pack":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile. ","description_kind":"plain","required":true},"registry_uid":{"type":"string","description":"The registry UID of the pack. The registry UID is the unique identifier of the registry. This attribute is required if there is more than one registry that contains a pack with the same name. ","description_kind":"plain","optional":true},"tag":{"type":"string","description":"The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. ","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`.","description_kind":"plain","optional":true},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the [`spectrocloud_pack`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) data source. This value is required if the pack type is `spectro` and for `helm` if the chart is from a public helm registry.","description_kind":"plain","optional":true,"computed":true},"values":{"type":"string","description":"The values of the pack. The values are the configuration values of the pack. The values are specified in YAML format. ","description_kind":"plain","optional":true}},"block_types":{"manifest":{"nesting_mode":"list","block":{"attributes":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest. ","description_kind":"plain","required":true},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack. ","description_kind":"plain","required":true},"uid":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}}},"description":"For packs of type `spectro`, `helm`, and `manifest`, at least one pack must be specified.","description_kind":"plain"}}},"description_kind":"plain"}},"cluster_rbac_binding":{"nesting_mode":"list","block":{"attributes":{"namespace":{"type":"string","description":"The Kubernetes namespace of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"role":{"type":["map","string"],"description":"The role of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`.","description_kind":"plain","required":true}},"block_types":{"subjects":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the subject. Required if 'type' is set to 'User' or 'Group'.","description_kind":"plain","required":true},"namespace":{"type":"string","description":"The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description":"The RBAC binding for the cluster.","description_kind":"plain"}},"host_config":{"nesting_mode":"list","block":{"attributes":{"external_traffic_policy":{"type":"string","description":"The external traffic policy for the cluster.","description_kind":"plain","optional":true},"host_endpoint_type":{"type":"string","description":"The type of endpoint for the cluster. Can be either 'Ingress' or 'LoadBalancer'. The default is 'Ingress'.","description_kind":"plain","optional":true},"ingress_host":{"type":"string","description":"The host for the Ingress endpoint. Required if 'host_endpoint_type' is set to 'Ingress'.","description_kind":"plain","optional":true},"load_balancer_source_ranges":{"type":"string","description":"The source ranges for the load balancer. Required if 'host_endpoint_type' is set to 'LoadBalancer'.","description_kind":"plain","optional":true}},"description":"The host configuration for the cluster.","description_kind":"plain"}},"machine_pool":{"nesting_mode":"list","block":{"attributes":{"additional_labels":{"type":["map","string"],"description_kind":"plain","optional":true},"count":{"type":"number","description":"Number of nodes in the machine pool.","description_kind":"plain","required":true},"disk_size_gb":{"type":"number","description_kind":"plain","optional":true},"instance_type":{"type":"string","description_kind":"plain","required":true},"name":{"type":"string","description_kind":"plain","required":true},"update_strategy":{"type":"string","description":"Update strategy for the machine pool. Valid values are `RollingUpdateScaleOut` and `RollingUpdateScaleIn`.","description_kind":"plain","optional":true}},"block_types":{"node":{"nesting_mode":"list","block":{"attributes":{"action":{"type":"string","description":"The action to perform on the node. Valid values are: `cordon`, `uncordon`.","description_kind":"plain","required":true},"node_id":{"type":"string","description":"The node_id of the node, For example `i-07f899a33dee624f7`","description_kind":"plain","required":true}},"description_kind":"plain"}},"taints":{"nesting_mode":"list","block":{"attributes":{"effect":{"type":"string","description":"The effect of the taint. Allowed values are: `NoSchedule`, `PreferNoSchedule` or `NoExecute`.","description_kind":"plain","required":true},"key":{"type":"string","description":"The key of the taint.","description_kind":"plain","required":true},"value":{"type":"string","description":"The value of the taint.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description":"The machine pool configuration for the cluster.","description_kind":"plain"},"min_items":1},"namespaces":{"nesting_mode":"list","block":{"attributes":{"images_blacklist":{"type":["list","string"],"description":"List of images to disallow for the namespace. For example, `['nginx:latest', 'redis:latest']`","description_kind":"plain","optional":true},"name":{"type":"string","description":"Name of the namespace. This is the name of the Kubernetes namespace in the cluster.","description_kind":"plain","required":true},"resource_allocation":{"type":["map","string"],"description":"Resource allocation for the namespace. This is a map containing the resource type and the resource value. For example, `{cpu_cores: '2', memory_MiB: '2048'}`","description_kind":"plain","required":true}},"description":"The namespaces for the cluster.","description_kind":"plain"}},"scan_policy":{"nesting_mode":"list","block":{"attributes":{"configuration_scan_schedule":{"type":"string","description":"The schedule for configuration scan.","description_kind":"plain","required":true},"conformance_scan_schedule":{"type":"string","description":"The schedule for conformance scan.","description_kind":"plain","required":true},"penetration_scan_schedule":{"type":"string","description":"The schedule for penetration scan.","description_kind":"plain","required":true}},"description":"The scan policy for the cluster.","description_kind":"plain"},"max_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":"Resource for managing GKE clusters through Palette.","description_kind":"plain"}},"spectrocloud_cluster_group":{"version":2,"block":{"attributes":{"context":{"type":"string","description":"The context of the Cluster group. Allowed values are `project` or `tenant`. Defaults to `tenant`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the cluster group","description_kind":"plain","required":true},"tags":{"type":["set","string"],"description":"A list of tags to be applied to the cluster group. Tags must be in the form of `key:value`.","description_kind":"plain","optional":true}},"block_types":{"cluster_profile":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The ID of the cluster profile.","description_kind":"plain","required":true}},"block_types":{"pack":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile. ","description_kind":"plain","required":true},"registry_uid":{"type":"string","description":"The registry UID of the pack. The registry UID is the unique identifier of the registry. This attribute is required if there is more than one registry that contains a pack with the same name. ","description_kind":"plain","optional":true},"tag":{"type":"string","description":"The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. ","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`.","description_kind":"plain","optional":true},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the [`spectrocloud_pack`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) data source. This value is required if the pack type is `spectro` and for `helm` if the chart is from a public helm registry.","description_kind":"plain","optional":true,"computed":true},"values":{"type":"string","description":"The values of the pack. The values are the configuration values of the pack. The values are specified in YAML format. ","description_kind":"plain","optional":true}},"block_types":{"manifest":{"nesting_mode":"list","block":{"attributes":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest. ","description_kind":"plain","required":true},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack. ","description_kind":"plain","required":true},"uid":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}}},"description":"For packs of type `spectro`, `helm`, and `manifest`, at least one pack must be specified.","description_kind":"plain"}}},"description_kind":"plain"}},"clusters":{"nesting_mode":"list","block":{"attributes":{"cluster_uid":{"type":"string","description":"The UID of the host cluster.","description_kind":"plain","required":true},"host_dns":{"type":"string","description":"The host DNS wildcard for the cluster. i.e. `*.dev` or `*test.com`","description_kind":"plain","optional":true}},"description":"A list of clusters to include in the cluster group.","description_kind":"plain"}},"config":{"nesting_mode":"list","block":{"attributes":{"cpu_millicore":{"type":"number","description":"The CPU limit in millicores.","description_kind":"plain","optional":true},"host_endpoint_type":{"type":"string","description":"The host endpoint type. Allowed values are 'Ingress' or 'LoadBalancer'. Defaults to 'Ingress'.","description_kind":"plain","optional":true},"k8s_distribution":{"type":"string","description":"The Kubernetes distribution, allowed values are `k3s` and `cncf_k8s`.","description_kind":"plain","optional":true},"memory_in_mb":{"type":"number","description":"The memory limit in megabytes (MB).","description_kind":"plain","optional":true},"oversubscription_percent":{"type":"number","description":"The allowed oversubscription percentage.","description_kind":"plain","optional":true},"storage_in_gb":{"type":"number","description":"The storage limit in gigabytes (GB).","description_kind":"plain","optional":true},"values":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"},"min_items":1,"max_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"}},"spectrocloud_cluster_import":{"version":2,"block":{"attributes":{"cloud":{"type":"string","description_kind":"plain","required":true},"cloud_config_id":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type `azure`.","description_kind":"plain","deprecated":true,"computed":true},"cluster_import_manifest":{"type":"string","description_kind":"plain","computed":true},"cluster_import_manifest_apply_command":{"type":"string","description_kind":"plain","computed":true},"context":{"type":"string","description":"The context of the cluster. Can be `project` or `tenant`. Default is `project`.If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true},"tags":{"type":["set","string"],"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.","description_kind":"plain","optional":true}},"block_types":{"cluster_profile":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The ID of the cluster profile.","description_kind":"plain","required":true}},"block_types":{"pack":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile. ","description_kind":"plain","required":true},"registry_uid":{"type":"string","description":"The registry UID of the pack. The registry UID is the unique identifier of the registry. This attribute is required if there is more than one registry that contains a pack with the same name. ","description_kind":"plain","optional":true},"tag":{"type":"string","description":"The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. ","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`.","description_kind":"plain","optional":true},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the [`spectrocloud_pack`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) data source. This value is required if the pack type is `spectro` and for `helm` if the chart is from a public helm registry.","description_kind":"plain","optional":true,"computed":true},"values":{"type":"string","description":"The values of the pack. The values are the configuration values of the pack. The values are specified in YAML format. ","description_kind":"plain","optional":true}},"block_types":{"manifest":{"nesting_mode":"list","block":{"attributes":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest. ","description_kind":"plain","required":true},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack. ","description_kind":"plain","required":true},"uid":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}}},"description":"For packs of type `spectro`, `helm`, and `manifest`, at least one pack must be specified.","description_kind":"plain"}}},"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"}},"spectrocloud_cluster_maas":{"version":2,"block":{"attributes":{"admin_kube_config":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using `kubectl`, With admin privilege.","description_kind":"plain","computed":true},"apply_setting":{"type":"string","description":"The setting to apply the cluster profile. `DownloadAndInstall` will download and install packs in one action. `DownloadAndInstallLater` will only download artifact and postpone install for later. Default value is `DownloadAndInstall`.","description_kind":"plain","optional":true},"cloud_account_id":{"type":"string","description":"ID of the Maas cloud account used for the cluster. This cloud account must be of type `maas`.","description_kind":"plain","optional":true},"cloud_config_id":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type `maas`.","description_kind":"plain","deprecated":true,"computed":true},"cluster_meta_attribute":{"type":"string","description":"`cluster_meta_attribute` can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`","description_kind":"plain","optional":true},"context":{"type":"string","description":"The context of the MAAS configuration. Allowed values are `project` or `tenant`. Default is `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.","description_kind":"plain","optional":true},"force_delete":{"type":"bool","description":"If set to `true`, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.","description_kind":"plain","optional":true},"force_delete_delay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using `kubectl`.","description_kind":"plain","computed":true},"name":{"type":"string","description":"The name of the cluster.","description_kind":"plain","required":true},"os_patch_after":{"type":"string","description":"The date and time after which to patch the cluster. Prefix the time value with the respective RFC. Ex: `RFC3339: 2006-01-02T15:04:05Z07:00`","description_kind":"plain","optional":true},"os_patch_on_boot":{"type":"bool","description":"Whether to apply OS patch on boot. Default is `false`.","description_kind":"plain","optional":true},"os_patch_schedule":{"type":"string","description":"Cron schedule for OS patching. This must be in the form of `0 0 * * *`.","description_kind":"plain","optional":true},"pause_agent_upgrades":{"type":"string","description":"The pause agent upgrades setting allows to control the automatic upgrade of the Palette component and agent for an individual cluster. The default value is `unlock`, meaning upgrades occur automatically. Setting it to `lock` pauses automatic agent upgrades for the cluster.","description_kind":"plain","optional":true},"review_repave_state":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.","description_kind":"plain","optional":true},"skip_completion":{"type":"bool","description":"If `true`, the cluster will be created asynchronously. Default value is `false`.","description_kind":"plain","optional":true},"tags":{"type":["set","string"],"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.","description_kind":"plain","optional":true}},"block_types":{"backup_policy":{"nesting_mode":"list","block":{"attributes":{"backup_location_id":{"type":"string","description":"The ID of the backup location to use for the backup.","description_kind":"plain","required":true},"cluster_uids":{"type":["set","string"],"description":"The list of cluster UIDs to include in the backup. If `include_all_clusters` is set to `true`, then all clusters will be included.","description_kind":"plain","optional":true},"expiry_in_hour":{"type":"number","description":"The number of hours after which the backup will be deleted. For example, if the expiry is set to 24, the backup will be deleted after 24 hours.","description_kind":"plain","required":true},"include_all_clusters":{"type":"bool","description":"Whether to include all clusters in the backup. If set to false, only the clusters specified in `cluster_uids` will be included.","description_kind":"plain","optional":true},"include_cluster_resources":{"type":"bool","description":"Whether to include the cluster resources in the backup. If set to false, only the cluster configuration and disks will be backed up.","description_kind":"plain","optional":true},"include_disks":{"type":"bool","description":"Whether to include the disks in the backup. If set to false, only the cluster configuration will be backed up.","description_kind":"plain","optional":true},"namespaces":{"type":["set","string"],"description":"The list of Kubernetes namespaces to include in the backup. If not specified, all namespaces will be included.","description_kind":"plain","optional":true},"prefix":{"type":"string","description":"Prefix for the backup name. The backup name will be of the format \u003cprefix\u003e-\u003ccluster-name\u003e-\u003ctimestamp\u003e.","description_kind":"plain","required":true},"schedule":{"type":"string","description":"The schedule for the backup. The schedule is specified in cron format. For example, to run the backup every day at 1:00 AM, the schedule should be set to `0 1 * * *`.","description_kind":"plain","required":true}},"description":"The backup policy for the cluster. If not specified, no backups will be taken.","description_kind":"plain"},"max_items":1},"cloud_config":{"nesting_mode":"list","block":{"attributes":{"domain":{"type":"string","description":"Domain name in which the cluster to be provisioned.","description_kind":"plain","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1},"cluster_profile":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The ID of the cluster profile.","description_kind":"plain","required":true}},"block_types":{"pack":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile. ","description_kind":"plain","required":true},"registry_uid":{"type":"string","description":"The registry UID of the pack. The registry UID is the unique identifier of the registry. This attribute is required if there is more than one registry that contains a pack with the same name. ","description_kind":"plain","optional":true},"tag":{"type":"string","description":"The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. ","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`.","description_kind":"plain","optional":true},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the [`spectrocloud_pack`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) data source. This value is required if the pack type is `spectro` and for `helm` if the chart is from a public helm registry.","description_kind":"plain","optional":true,"computed":true},"values":{"type":"string","description":"The values of the pack. The values are the configuration values of the pack. The values are specified in YAML format. ","description_kind":"plain","optional":true}},"block_types":{"manifest":{"nesting_mode":"list","block":{"attributes":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest. ","description_kind":"plain","required":true},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack. ","description_kind":"plain","required":true},"uid":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}}},"description":"For packs of type `spectro`, `helm`, and `manifest`, at least one pack must be specified.","description_kind":"plain"}}},"description_kind":"plain"}},"cluster_rbac_binding":{"nesting_mode":"list","block":{"attributes":{"namespace":{"type":"string","description":"The Kubernetes namespace of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"role":{"type":["map","string"],"description":"The role of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`.","description_kind":"plain","required":true}},"block_types":{"subjects":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the subject. Required if 'type' is set to 'User' or 'Group'.","description_kind":"plain","required":true},"namespace":{"type":"string","description":"The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description":"The RBAC binding for the cluster.","description_kind":"plain"}},"host_config":{"nesting_mode":"list","block":{"attributes":{"external_traffic_policy":{"type":"string","description":"The external traffic policy for the cluster.","description_kind":"plain","optional":true},"host_endpoint_type":{"type":"string","description":"The type of endpoint for the cluster. Can be either 'Ingress' or 'LoadBalancer'. The default is 'Ingress'.","description_kind":"plain","optional":true},"ingress_host":{"type":"string","description":"The host for the Ingress endpoint. Required if 'host_endpoint_type' is set to 'Ingress'.","description_kind":"plain","optional":true},"load_balancer_source_ranges":{"type":"string","description":"The source ranges for the load balancer. Required if 'host_endpoint_type' is set to 'LoadBalancer'.","description_kind":"plain","optional":true}},"description":"The host configuration for the cluster.","description_kind":"plain"}},"location_config":{"nesting_mode":"list","block":{"attributes":{"country_code":{"type":"string","description":"The country code of the country the cluster is located in.","description_kind":"plain","optional":true},"country_name":{"type":"string","description":"The name of the country.","description_kind":"plain","optional":true},"latitude":{"type":"number","description":"The latitude coordinates value.","description_kind":"plain","required":true},"longitude":{"type":"number","description":"The longitude coordinates value.","description_kind":"plain","required":true},"region_code":{"type":"string","description":"The region code of where the cluster is located in.","description_kind":"plain","optional":true},"region_name":{"type":"string","description":"The name of the region.","description_kind":"plain","optional":true}},"description_kind":"plain"}},"machine_pool":{"nesting_mode":"set","block":{"attributes":{"additional_labels":{"type":["map","string"],"description":"Additional labels to be applied to the machine pool. Labels must be in the form of `key:value`.","description_kind":"plain","optional":true},"azs":{"type":["set","string"],"description":"Availability zones in which the machine pool nodes to be provisioned.","description_kind":"plain","optional":true},"control_plane":{"type":"bool","description":"Whether this machine pool is a control plane. Defaults to `false`.","description_kind":"plain","optional":true},"control_plane_as_worker":{"type":"bool","description":"Whether this machine pool is a control plane and a worker. Defaults to `false`.","description_kind":"plain","optional":true},"count":{"type":"number","description":"Number of nodes in the machine pool.","description_kind":"plain","required":true},"max":{"type":"number","description":"Maximum number of nodes in the machine pool. This is used for autoscaling the machine pool.","description_kind":"plain","optional":true},"min":{"type":"number","description":"Minimum number of nodes in the machine pool. This is used for autoscaling the machine pool.","description_kind":"plain","optional":true},"name":{"type":"string","description":"Name of the machine pool.","description_kind":"plain","required":true},"node_repave_interval":{"type":"number","description":"Minimum number of seconds node should be Ready, before the next node is selected for repave. Default value is `0`, Applicable only for worker pools.","description_kind":"plain","optional":true},"node_tags":{"type":["set","string"],"description":"Node tags to dynamically place nodes in a pool by using MAAS automatic tags. Specify the tag values that you want to apply to all nodes in the node pool.","description_kind":"plain","optional":true},"update_strategy":{"type":"string","description":"Update strategy for the machine pool. Valid values are `RollingUpdateScaleOut` and `RollingUpdateScaleIn`.","description_kind":"plain","optional":true}},"block_types":{"instance_type":{"nesting_mode":"list","block":{"attributes":{"min_cpu":{"type":"number","description":"Minimum number of CPU required for the machine pool node.","description_kind":"plain","required":true},"min_memory_mb":{"type":"number","description":"Minimum memory in MB required for the machine pool node.","description_kind":"plain","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1},"node":{"nesting_mode":"list","block":{"attributes":{"action":{"type":"string","description":"The action to perform on the node. Valid values are: `cordon`, `uncordon`.","description_kind":"plain","required":true},"node_id":{"type":"string","description":"The node_id of the node, For example `i-07f899a33dee624f7`","description_kind":"plain","required":true}},"description_kind":"plain"}},"placement":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"This is a computed(read-only) ID of the placement that is used to connect to the Maas cloud.","description_kind":"plain","computed":true},"resource_pool":{"type":"string","description":"The name of the resource pool in the Maas cloud.","description_kind":"plain","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1},"taints":{"nesting_mode":"list","block":{"attributes":{"effect":{"type":"string","description":"The effect of the taint. Allowed values are: `NoSchedule`, `PreferNoSchedule` or `NoExecute`.","description_kind":"plain","required":true},"key":{"type":"string","description":"The key of the taint.","description_kind":"plain","required":true},"value":{"type":"string","description":"The value of the taint.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description_kind":"plain"},"min_items":1},"namespaces":{"nesting_mode":"list","block":{"attributes":{"images_blacklist":{"type":["list","string"],"description":"List of images to disallow for the namespace. For example, `['nginx:latest', 'redis:latest']`","description_kind":"plain","optional":true},"name":{"type":"string","description":"Name of the namespace. This is the name of the Kubernetes namespace in the cluster.","description_kind":"plain","required":true},"resource_allocation":{"type":["map","string"],"description":"Resource allocation for the namespace. This is a map containing the resource type and the resource value. For example, `{cpu_cores: '2', memory_MiB: '2048'}`","description_kind":"plain","required":true}},"description":"The namespaces for the cluster.","description_kind":"plain"}},"scan_policy":{"nesting_mode":"list","block":{"attributes":{"configuration_scan_schedule":{"type":"string","description":"The schedule for configuration scan.","description_kind":"plain","required":true},"conformance_scan_schedule":{"type":"string","description":"The schedule for conformance scan.","description_kind":"plain","required":true},"penetration_scan_schedule":{"type":"string","description":"The schedule for penetration scan.","description_kind":"plain","required":true}},"description":"The scan policy for the cluster.","description_kind":"plain"},"max_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":"Resource for managing MAAS clusters in Spectro Cloud through Palette.","description_kind":"plain"}},"spectrocloud_cluster_openstack":{"version":0,"block":{"attributes":{"admin_kube_config":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using `kubectl`, With admin privilege.","description_kind":"plain","computed":true},"apply_setting":{"type":"string","description":"The setting to apply the cluster profile. `DownloadAndInstall` will download and install packs in one action. `DownloadAndInstallLater` will only download artifact and postpone install for later. Default value is `DownloadAndInstall`.","description_kind":"plain","optional":true},"cloud_account_id":{"type":"string","description_kind":"plain","required":true},"cloud_config_id":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type `azure`.","description_kind":"plain","deprecated":true,"computed":true},"cluster_meta_attribute":{"type":"string","description":"`cluster_meta_attribute` can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`","description_kind":"plain","optional":true},"context":{"type":"string","description":"The context of the OpenStack cluster. Allowed values are `project` or `tenant`. Default is `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.","description_kind":"plain","optional":true},"force_delete":{"type":"bool","description":"If set to `true`, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.","description_kind":"plain","optional":true},"force_delete_delay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using `kubectl`.","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true},"os_patch_after":{"type":"string","description":"The date and time after which to patch the cluster. Prefix the time value with the respective RFC. Ex: `RFC3339: 2006-01-02T15:04:05Z07:00`","description_kind":"plain","optional":true},"os_patch_on_boot":{"type":"bool","description":"Whether to apply OS patch on boot. Default is `false`.","description_kind":"plain","optional":true},"os_patch_schedule":{"type":"string","description":"Cron schedule for OS patching. This must be in the form of `0 0 * * *`.","description_kind":"plain","optional":true},"pause_agent_upgrades":{"type":"string","description":"The pause agent upgrades setting allows to control the automatic upgrade of the Palette component and agent for an individual cluster. The default value is `unlock`, meaning upgrades occur automatically. Setting it to `lock` pauses automatic agent upgrades for the cluster.","description_kind":"plain","optional":true},"review_repave_state":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.","description_kind":"plain","optional":true},"skip_completion":{"type":"bool","description":"If `true`, the cluster will be created asynchronously. Default value is `false`.","description_kind":"plain","optional":true},"tags":{"type":["set","string"],"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.","description_kind":"plain","optional":true}},"block_types":{"backup_policy":{"nesting_mode":"list","block":{"attributes":{"backup_location_id":{"type":"string","description":"The ID of the backup location to use for the backup.","description_kind":"plain","required":true},"cluster_uids":{"type":["set","string"],"description":"The list of cluster UIDs to include in the backup. If `include_all_clusters` is set to `true`, then all clusters will be included.","description_kind":"plain","optional":true},"expiry_in_hour":{"type":"number","description":"The number of hours after which the backup will be deleted. For example, if the expiry is set to 24, the backup will be deleted after 24 hours.","description_kind":"plain","required":true},"include_all_clusters":{"type":"bool","description":"Whether to include all clusters in the backup. If set to false, only the clusters specified in `cluster_uids` will be included.","description_kind":"plain","optional":true},"include_cluster_resources":{"type":"bool","description":"Whether to include the cluster resources in the backup. If set to false, only the cluster configuration and disks will be backed up.","description_kind":"plain","optional":true},"include_disks":{"type":"bool","description":"Whether to include the disks in the backup. If set to false, only the cluster configuration will be backed up.","description_kind":"plain","optional":true},"namespaces":{"type":["set","string"],"description":"The list of Kubernetes namespaces to include in the backup. If not specified, all namespaces will be included.","description_kind":"plain","optional":true},"prefix":{"type":"string","description":"Prefix for the backup name. The backup name will be of the format \u003cprefix\u003e-\u003ccluster-name\u003e-\u003ctimestamp\u003e.","description_kind":"plain","required":true},"schedule":{"type":"string","description":"The schedule for the backup. The schedule is specified in cron format. For example, to run the backup every day at 1:00 AM, the schedule should be set to `0 1 * * *`.","description_kind":"plain","required":true}},"description":"The backup policy for the cluster. If not specified, no backups will be taken.","description_kind":"plain"},"max_items":1},"cloud_config":{"nesting_mode":"list","block":{"attributes":{"dns_servers":{"type":["set","string"],"description_kind":"plain","required":true},"domain":{"type":"string","description_kind":"plain","required":true},"network_id":{"type":"string","description_kind":"plain","optional":true},"project":{"type":"string","description_kind":"plain","required":true},"region":{"type":"string","description_kind":"plain","required":true},"ssh_key":{"type":"string","description":"Public SSH key to be used for the cluster nodes.","description_kind":"plain","required":true},"subnet_cidr":{"type":"string","description_kind":"plain","required":true},"subnet_id":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"},"min_items":1,"max_items":1},"cluster_profile":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The ID of the cluster profile.","description_kind":"plain","required":true}},"block_types":{"pack":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile. ","description_kind":"plain","required":true},"registry_uid":{"type":"string","description":"The registry UID of the pack. The registry UID is the unique identifier of the registry. This attribute is required if there is more than one registry that contains a pack with the same name. ","description_kind":"plain","optional":true},"tag":{"type":"string","description":"The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. ","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`.","description_kind":"plain","optional":true},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the [`spectrocloud_pack`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) data source. This value is required if the pack type is `spectro` and for `helm` if the chart is from a public helm registry.","description_kind":"plain","optional":true,"computed":true},"values":{"type":"string","description":"The values of the pack. The values are the configuration values of the pack. The values are specified in YAML format. ","description_kind":"plain","optional":true}},"block_types":{"manifest":{"nesting_mode":"list","block":{"attributes":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest. ","description_kind":"plain","required":true},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack. ","description_kind":"plain","required":true},"uid":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}}},"description":"For packs of type `spectro`, `helm`, and `manifest`, at least one pack must be specified.","description_kind":"plain"}}},"description_kind":"plain"}},"cluster_rbac_binding":{"nesting_mode":"list","block":{"attributes":{"namespace":{"type":"string","description":"The Kubernetes namespace of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"role":{"type":["map","string"],"description":"The role of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`.","description_kind":"plain","required":true}},"block_types":{"subjects":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the subject. Required if 'type' is set to 'User' or 'Group'.","description_kind":"plain","required":true},"namespace":{"type":"string","description":"The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description":"The RBAC binding for the cluster.","description_kind":"plain"}},"host_config":{"nesting_mode":"list","block":{"attributes":{"external_traffic_policy":{"type":"string","description":"The external traffic policy for the cluster.","description_kind":"plain","optional":true},"host_endpoint_type":{"type":"string","description":"The type of endpoint for the cluster. Can be either 'Ingress' or 'LoadBalancer'. The default is 'Ingress'.","description_kind":"plain","optional":true},"ingress_host":{"type":"string","description":"The host for the Ingress endpoint. Required if 'host_endpoint_type' is set to 'Ingress'.","description_kind":"plain","optional":true},"load_balancer_source_ranges":{"type":"string","description":"The source ranges for the load balancer. Required if 'host_endpoint_type' is set to 'LoadBalancer'.","description_kind":"plain","optional":true}},"description":"The host configuration for the cluster.","description_kind":"plain"}},"location_config":{"nesting_mode":"list","block":{"attributes":{"country_code":{"type":"string","description":"The country code of the country the cluster is located in.","description_kind":"plain","optional":true},"country_name":{"type":"string","description":"The name of the country.","description_kind":"plain","optional":true},"latitude":{"type":"number","description":"The latitude coordinates value.","description_kind":"plain","required":true},"longitude":{"type":"number","description":"The longitude coordinates value.","description_kind":"plain","required":true},"region_code":{"type":"string","description":"The region code of where the cluster is located in.","description_kind":"plain","optional":true},"region_name":{"type":"string","description":"The name of the region.","description_kind":"plain","optional":true}},"description_kind":"plain"}},"machine_pool":{"nesting_mode":"list","block":{"attributes":{"additional_labels":{"type":["map","string"],"description_kind":"plain","optional":true},"azs":{"type":["set","string"],"description_kind":"plain","optional":true},"control_plane":{"type":"bool","description":"Whether this machine pool is a control plane. Defaults to `false`.","description_kind":"plain","optional":true},"control_plane_as_worker":{"type":"bool","description":"Whether this machine pool is a control plane and a worker. Defaults to `false`.","description_kind":"plain","optional":true},"count":{"type":"number","description":"Number of nodes in the machine pool.","description_kind":"plain","required":true},"instance_type":{"type":"string","description_kind":"plain","required":true},"name":{"type":"string","description_kind":"plain","required":true},"node_repave_interval":{"type":"number","description":"Minimum number of seconds node should be Ready, before the next node is selected for repave. Default value is `0`, Applicable only for worker pools.","description_kind":"plain","optional":true},"subnet_id":{"type":"string","description_kind":"plain","optional":true},"update_strategy":{"type":"string","description":"Update strategy for the machine pool. Valid values are `RollingUpdateScaleOut` and `RollingUpdateScaleIn`.","description_kind":"plain","optional":true}},"block_types":{"node":{"nesting_mode":"list","block":{"attributes":{"action":{"type":"string","description":"The action to perform on the node. Valid values are: `cordon`, `uncordon`.","description_kind":"plain","required":true},"node_id":{"type":"string","description":"The node_id of the node, For example `i-07f899a33dee624f7`","description_kind":"plain","required":true}},"description_kind":"plain"}},"taints":{"nesting_mode":"list","block":{"attributes":{"effect":{"type":"string","description":"The effect of the taint. Allowed values are: `NoSchedule`, `PreferNoSchedule` or `NoExecute`.","description_kind":"plain","required":true},"key":{"type":"string","description":"The key of the taint.","description_kind":"plain","required":true},"value":{"type":"string","description":"The value of the taint.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description_kind":"plain"},"min_items":1},"namespaces":{"nesting_mode":"list","block":{"attributes":{"images_blacklist":{"type":["list","string"],"description":"List of images to disallow for the namespace. For example, `['nginx:latest', 'redis:latest']`","description_kind":"plain","optional":true},"name":{"type":"string","description":"Name of the namespace. This is the name of the Kubernetes namespace in the cluster.","description_kind":"plain","required":true},"resource_allocation":{"type":["map","string"],"description":"Resource allocation for the namespace. This is a map containing the resource type and the resource value. For example, `{cpu_cores: '2', memory_MiB: '2048'}`","description_kind":"plain","required":true}},"description":"The namespaces for the cluster.","description_kind":"plain"}},"scan_policy":{"nesting_mode":"list","block":{"attributes":{"configuration_scan_schedule":{"type":"string","description":"The schedule for configuration scan.","description_kind":"plain","required":true},"conformance_scan_schedule":{"type":"string","description":"The schedule for conformance scan.","description_kind":"plain","required":true},"penetration_scan_schedule":{"type":"string","description":"The schedule for penetration scan.","description_kind":"plain","required":true}},"description":"The scan policy for the cluster.","description_kind":"plain"},"max_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":"Resource for managing Openstack clusters in Spectro Cloud through Palette.","description_kind":"plain"}},"spectrocloud_cluster_profile":{"version":0,"block":{"attributes":{"cloud":{"type":"string","description":"Specify the infrastructure provider the cluster profile is for. Only Palette supported infrastructure providers can be used. The supported cloud types are - `all, aws, azure, gcp, vsphere, openstack, maas, virtual, baremetal, eks, aks, edge, edge-native, tencent, tke, generic, and gke`,If the value is set to `all`, then the type must be set to `add-on`. Otherwise, the cluster profile may be incompatible with other providers. Default value is `all`.","description_kind":"plain","optional":true},"context":{"type":"string","description":"The context of the cluster profile. Allowed values are `project` or `tenant`. Default value is `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":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},"tags":{"type":["set","string"],"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.","description_kind":"plain","optional":true},"type":{"type":"string","description":"Specify the cluster profile type to use. Allowed values are `cluster`, `infra`, `add-on`, and `system`. These values map to the following User Interface (UI) labels. Use the value ' cluster ' for a **Full** cluster profile.For an Infrastructure cluster profile, use the value `infra`; for an Add-on cluster profile, use the value `add-on`.System cluster profiles can be specified using the value `system`. To learn more about cluster profiles, refer to the [Cluster Profile](https://docs.spectrocloud.com/cluster-profiles) documentation. Default value is `add-on`.","description_kind":"plain","optional":true},"version":{"type":"string","description":"Version of the cluster profile. Defaults to '1.0.0'.","description_kind":"plain","optional":true}},"block_types":{"pack":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile. ","description_kind":"plain","required":true},"registry_uid":{"type":"string","description":"The registry UID of the pack. The registry UID is the unique identifier of the registry. This attribute is required if there is more than one registry that contains a pack with the same name. ","description_kind":"plain","optional":true},"tag":{"type":"string","description":"The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. ","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`.","description_kind":"plain","optional":true},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the [`spectrocloud_pack`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) data source. This value is required if the pack type is `spectro` and for `helm` if the chart is from a public helm registry.","description_kind":"plain","optional":true,"computed":true},"values":{"type":"string","description":"The values of the pack. The values are the configuration values of the pack. The values are specified in YAML format. ","description_kind":"plain","optional":true}},"block_types":{"manifest":{"nesting_mode":"list","block":{"attributes":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest. ","description_kind":"plain","required":true},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack. ","description_kind":"plain","required":true},"uid":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}}},"description":"For packs of type `spectro`, `helm`, and `manifest`, at least one pack must be specified.","description_kind":"plain"}},"profile_variables":{"nesting_mode":"list","block":{"block_types":{"variable":{"nesting_mode":"list","block":{"attributes":{"default_value":{"type":"string","description":"The default value of the variable.","description_kind":"plain","optional":true},"description":{"type":"string","description":"The description of the variable.","description_kind":"plain","optional":true},"display_name":{"type":"string","description":"The display name of the variable should be unique among variables.","description_kind":"plain","required":true},"format":{"type":"string","description":"The format of the variable. Default is `string`, `format` field can only be set during cluster profile creation. Allowed formats include `string`, `number`, `boolean`, `ipv4`, `ipv4cidr`, `ipv6`, `version`.","description_kind":"plain","optional":true},"hidden":{"type":"bool","description":"If `hidden` is set to `true`, then variable will be hidden for overriding the value. By default the `hidden` flag will be set to `false`.","description_kind":"plain","optional":true},"immutable":{"type":"bool","description":"If `immutable` is set to `true`, then variable value can't be editable. By default the `immutable` flag will be set to `false`.","description_kind":"plain","optional":true},"is_sensitive":{"type":"bool","description":"If `is_sensitive` is set to `true`, then default value will be masked. By default the `is_sensitive` flag will be set to false.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the variable should be unique among variables.","description_kind":"plain","required":true},"regex":{"type":"string","description":"Regular expression pattern which the variable value must match.","description_kind":"plain","optional":true},"required":{"type":"bool","description":"The `required` to specify if the variable is optional or mandatory. If it is mandatory then default value must be provided.","description_kind":"plain","optional":true}},"description_kind":"plain"},"min_items":1}},"description":"List of variables for the cluster profile. Note: This is a preview feature and is currently only supported for the `edge_native` cloud type and general `add-on` profiles.","description_kind":"plain"},"max_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":"The Cluster Profile resource allows you to create and manage cluster profiles.","description_kind":"plain"}},"spectrocloud_cluster_profile_import":{"version":0,"block":{"attributes":{"context":{"type":"string","description":"Allowed values are `project`, `tenant` or `system`. Defaults to `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"import_file":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"spectrocloud_cluster_tke":{"version":2,"block":{"attributes":{"admin_kube_config":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using `kubectl`, With admin privilege.","description_kind":"plain","computed":true},"apply_setting":{"type":"string","description":"The setting to apply the cluster profile. `DownloadAndInstall` will download and install packs in one action. `DownloadAndInstallLater` will only download artifact and postpone install for later. Default value is `DownloadAndInstall`.","description_kind":"plain","optional":true},"cloud_account_id":{"type":"string","description_kind":"plain","required":true},"cloud_config_id":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type `azure`.","description_kind":"plain","deprecated":true,"computed":true},"cluster_meta_attribute":{"type":"string","description":"`cluster_meta_attribute` can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`","description_kind":"plain","optional":true},"context":{"type":"string","description":"The context of the TKE cluster. Allowed values are `project` or `tenant`. Default is `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.","description_kind":"plain","optional":true},"force_delete":{"type":"bool","description":"If set to `true`, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.","description_kind":"plain","optional":true},"force_delete_delay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using `kubectl`.","description_kind":"plain","computed":true},"location_config":{"type":["list",["object",{"country_code":"string","country_name":"string","latitude":"number","longitude":"number","region_code":"string","region_name":"string"}]],"description":"The location of the cluster.","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true},"pause_agent_upgrades":{"type":"string","description":"The pause agent upgrades setting allows to control the automatic upgrade of the Palette component and agent for an individual cluster. The default value is `unlock`, meaning upgrades occur automatically. Setting it to `lock` pauses automatic agent upgrades for the cluster.","description_kind":"plain","optional":true},"review_repave_state":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.","description_kind":"plain","optional":true},"skip_completion":{"type":"bool","description":"If `true`, the cluster will be created asynchronously. Default value is `false`.","description_kind":"plain","optional":true},"tags":{"type":["set","string"],"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.","description_kind":"plain","optional":true}},"block_types":{"backup_policy":{"nesting_mode":"list","block":{"attributes":{"backup_location_id":{"type":"string","description":"The ID of the backup location to use for the backup.","description_kind":"plain","required":true},"cluster_uids":{"type":["set","string"],"description":"The list of cluster UIDs to include in the backup. If `include_all_clusters` is set to `true`, then all clusters will be included.","description_kind":"plain","optional":true},"expiry_in_hour":{"type":"number","description":"The number of hours after which the backup will be deleted. For example, if the expiry is set to 24, the backup will be deleted after 24 hours.","description_kind":"plain","required":true},"include_all_clusters":{"type":"bool","description":"Whether to include all clusters in the backup. If set to false, only the clusters specified in `cluster_uids` will be included.","description_kind":"plain","optional":true},"include_cluster_resources":{"type":"bool","description":"Whether to include the cluster resources in the backup. If set to false, only the cluster configuration and disks will be backed up.","description_kind":"plain","optional":true},"include_disks":{"type":"bool","description":"Whether to include the disks in the backup. If set to false, only the cluster configuration will be backed up.","description_kind":"plain","optional":true},"namespaces":{"type":["set","string"],"description":"The list of Kubernetes namespaces to include in the backup. If not specified, all namespaces will be included.","description_kind":"plain","optional":true},"prefix":{"type":"string","description":"Prefix for the backup name. The backup name will be of the format \u003cprefix\u003e-\u003ccluster-name\u003e-\u003ctimestamp\u003e.","description_kind":"plain","required":true},"schedule":{"type":"string","description":"The schedule for the backup. The schedule is specified in cron format. For example, to run the backup every day at 1:00 AM, the schedule should be set to `0 1 * * *`.","description_kind":"plain","required":true}},"description":"The backup policy for the cluster. If not specified, no backups will be taken.","description_kind":"plain"},"max_items":1},"cloud_config":{"nesting_mode":"list","block":{"attributes":{"az_subnets":{"type":["map","string"],"description_kind":"plain","optional":true},"azs":{"type":["list","string"],"description_kind":"plain","optional":true},"endpoint_access":{"type":"string","description_kind":"plain","optional":true},"public_access_cidrs":{"type":["set","string"],"description_kind":"plain","optional":true},"region":{"type":"string","description_kind":"plain","required":true},"ssh_key_name":{"type":"string","description":"Public SSH key to be used for the cluster nodes.","description_kind":"plain","optional":true},"vpc_id":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"},"min_items":1,"max_items":1},"cluster_profile":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The ID of the cluster profile.","description_kind":"plain","required":true}},"block_types":{"pack":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile. ","description_kind":"plain","required":true},"registry_uid":{"type":"string","description":"The registry UID of the pack. The registry UID is the unique identifier of the registry. This attribute is required if there is more than one registry that contains a pack with the same name. ","description_kind":"plain","optional":true},"tag":{"type":"string","description":"The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. ","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`.","description_kind":"plain","optional":true},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the [`spectrocloud_pack`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) data source. This value is required if the pack type is `spectro` and for `helm` if the chart is from a public helm registry.","description_kind":"plain","optional":true,"computed":true},"values":{"type":"string","description":"The values of the pack. The values are the configuration values of the pack. The values are specified in YAML format. ","description_kind":"plain","optional":true}},"block_types":{"manifest":{"nesting_mode":"list","block":{"attributes":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest. ","description_kind":"plain","required":true},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack. ","description_kind":"plain","required":true},"uid":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}}},"description":"For packs of type `spectro`, `helm`, and `manifest`, at least one pack must be specified.","description_kind":"plain"}}},"description_kind":"plain"}},"cluster_rbac_binding":{"nesting_mode":"list","block":{"attributes":{"namespace":{"type":"string","description":"The Kubernetes namespace of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"role":{"type":["map","string"],"description":"The role of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`.","description_kind":"plain","required":true}},"block_types":{"subjects":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the subject. Required if 'type' is set to 'User' or 'Group'.","description_kind":"plain","required":true},"namespace":{"type":"string","description":"The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description":"The RBAC binding for the cluster.","description_kind":"plain"}},"host_config":{"nesting_mode":"list","block":{"attributes":{"external_traffic_policy":{"type":"string","description":"The external traffic policy for the cluster.","description_kind":"plain","optional":true},"host_endpoint_type":{"type":"string","description":"The type of endpoint for the cluster. Can be either 'Ingress' or 'LoadBalancer'. The default is 'Ingress'.","description_kind":"plain","optional":true},"ingress_host":{"type":"string","description":"The host for the Ingress endpoint. Required if 'host_endpoint_type' is set to 'Ingress'.","description_kind":"plain","optional":true},"load_balancer_source_ranges":{"type":"string","description":"The source ranges for the load balancer. Required if 'host_endpoint_type' is set to 'LoadBalancer'.","description_kind":"plain","optional":true}},"description":"The host configuration for the cluster.","description_kind":"plain"}},"machine_pool":{"nesting_mode":"list","block":{"attributes":{"additional_labels":{"type":["map","string"],"description_kind":"plain","optional":true},"az_subnets":{"type":["map","string"],"description_kind":"plain","optional":true},"azs":{"type":["list","string"],"description_kind":"plain","optional":true},"capacity_type":{"type":"string","description_kind":"plain","optional":true},"count":{"type":"number","description":"Number of nodes in the machine pool.","description_kind":"plain","required":true},"disk_size_gb":{"type":"number","description_kind":"plain","required":true},"instance_type":{"type":"string","description_kind":"plain","required":true},"max":{"type":"number","description":"Maximum number of nodes in the machine pool. This is used for autoscaling the machine pool.","description_kind":"plain","optional":true},"max_price":{"type":"string","description_kind":"plain","optional":true},"min":{"type":"number","description":"Minimum number of nodes in the machine pool. This is used for autoscaling the machine pool.","description_kind":"plain","optional":true},"name":{"type":"string","description_kind":"plain","required":true},"update_strategy":{"type":"string","description":"Update strategy for the machine pool. Valid values are `RollingUpdateScaleOut` and `RollingUpdateScaleIn`.","description_kind":"plain","optional":true}},"block_types":{"node":{"nesting_mode":"list","block":{"attributes":{"action":{"type":"string","description":"The action to perform on the node. Valid values are: `cordon`, `uncordon`.","description_kind":"plain","required":true},"node_id":{"type":"string","description":"The node_id of the node, For example `i-07f899a33dee624f7`","description_kind":"plain","required":true}},"description_kind":"plain"}},"taints":{"nesting_mode":"list","block":{"attributes":{"effect":{"type":"string","description":"The effect of the taint. Allowed values are: `NoSchedule`, `PreferNoSchedule` or `NoExecute`.","description_kind":"plain","required":true},"key":{"type":"string","description":"The key of the taint.","description_kind":"plain","required":true},"value":{"type":"string","description":"The value of the taint.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description_kind":"plain"},"min_items":1},"namespaces":{"nesting_mode":"list","block":{"attributes":{"images_blacklist":{"type":["list","string"],"description":"List of images to disallow for the namespace. For example, `['nginx:latest', 'redis:latest']`","description_kind":"plain","optional":true},"name":{"type":"string","description":"Name of the namespace. This is the name of the Kubernetes namespace in the cluster.","description_kind":"plain","required":true},"resource_allocation":{"type":["map","string"],"description":"Resource allocation for the namespace. This is a map containing the resource type and the resource value. For example, `{cpu_cores: '2', memory_MiB: '2048'}`","description_kind":"plain","required":true}},"description":"The namespaces for the cluster.","description_kind":"plain"}},"scan_policy":{"nesting_mode":"list","block":{"attributes":{"configuration_scan_schedule":{"type":"string","description":"The schedule for configuration scan.","description_kind":"plain","required":true},"conformance_scan_schedule":{"type":"string","description":"The schedule for conformance scan.","description_kind":"plain","required":true},"penetration_scan_schedule":{"type":"string","description":"The schedule for penetration scan.","description_kind":"plain","required":true}},"description":"The scan policy for the cluster.","description_kind":"plain"},"max_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":"Resource for managing TKE clusters in Spectro Cloud through Palette.","description_kind":"plain"}},"spectrocloud_cluster_vsphere":{"version":0,"block":{"attributes":{"admin_kube_config":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using `kubectl`, With admin privilege.","description_kind":"plain","computed":true},"apply_setting":{"type":"string","description":"The setting to apply the cluster profile. `DownloadAndInstall` will download and install packs in one action. `DownloadAndInstallLater` will only download artifact and postpone install for later. Default value is `DownloadAndInstall`.","description_kind":"plain","optional":true},"cloud_account_id":{"type":"string","description":"ID of the cloud account to be used for the cluster. This cloud account must be of type `vsphere`.","description_kind":"plain","required":true},"cloud_config_id":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type `azure`.","description_kind":"plain","deprecated":true,"computed":true},"cluster_meta_attribute":{"type":"string","description":"`cluster_meta_attribute` can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`","description_kind":"plain","optional":true},"context":{"type":"string","description":"The context of the VMware cluster. Allowed values are `project` or `tenant`. Default is `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.","description_kind":"plain","optional":true},"force_delete":{"type":"bool","description":"If set to `true`, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.","description_kind":"plain","optional":true},"force_delete_delay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using `kubectl`.","description_kind":"plain","computed":true},"name":{"type":"string","description":"The name of the cluster.","description_kind":"plain","required":true},"os_patch_after":{"type":"string","description":"The date and time after which to patch the cluster. Prefix the time value with the respective RFC. Ex: `RFC3339: 2006-01-02T15:04:05Z07:00`","description_kind":"plain","optional":true},"os_patch_on_boot":{"type":"bool","description":"Whether to apply OS patch on boot. Default is `false`.","description_kind":"plain","optional":true},"os_patch_schedule":{"type":"string","description":"The cron schedule for OS patching. This must be in the form of cron syntax. Ex: `0 0 * * *`.","description_kind":"plain","optional":true},"pause_agent_upgrades":{"type":"string","description":"The pause agent upgrades setting allows to control the automatic upgrade of the Palette component and agent for an individual cluster. The default value is `unlock`, meaning upgrades occur automatically. Setting it to `lock` pauses automatic agent upgrades for the cluster.","description_kind":"plain","optional":true},"review_repave_state":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.","description_kind":"plain","optional":true},"skip_completion":{"type":"bool","description":"If `true`, the cluster will be created asynchronously. Default value is `false`.","description_kind":"plain","optional":true},"tags":{"type":["set","string"],"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.","description_kind":"plain","optional":true}},"block_types":{"backup_policy":{"nesting_mode":"list","block":{"attributes":{"backup_location_id":{"type":"string","description":"The ID of the backup location to use for the backup.","description_kind":"plain","required":true},"cluster_uids":{"type":["set","string"],"description":"The list of cluster UIDs to include in the backup. If `include_all_clusters` is set to `true`, then all clusters will be included.","description_kind":"plain","optional":true},"expiry_in_hour":{"type":"number","description":"The number of hours after which the backup will be deleted. For example, if the expiry is set to 24, the backup will be deleted after 24 hours.","description_kind":"plain","required":true},"include_all_clusters":{"type":"bool","description":"Whether to include all clusters in the backup. If set to false, only the clusters specified in `cluster_uids` will be included.","description_kind":"plain","optional":true},"include_cluster_resources":{"type":"bool","description":"Whether to include the cluster resources in the backup. If set to false, only the cluster configuration and disks will be backed up.","description_kind":"plain","optional":true},"include_disks":{"type":"bool","description":"Whether to include the disks in the backup. If set to false, only the cluster configuration will be backed up.","description_kind":"plain","optional":true},"namespaces":{"type":["set","string"],"description":"The list of Kubernetes namespaces to include in the backup. If not specified, all namespaces will be included.","description_kind":"plain","optional":true},"prefix":{"type":"string","description":"Prefix for the backup name. The backup name will be of the format \u003cprefix\u003e-\u003ccluster-name\u003e-\u003ctimestamp\u003e.","description_kind":"plain","required":true},"schedule":{"type":"string","description":"The schedule for the backup. The schedule is specified in cron format. For example, to run the backup every day at 1:00 AM, the schedule should be set to `0 1 * * *`.","description_kind":"plain","required":true}},"description":"The backup policy for the cluster. If not specified, no backups will be taken.","description_kind":"plain"},"max_items":1},"cloud_config":{"nesting_mode":"list","block":{"attributes":{"datacenter":{"type":"string","description":"The name of the datacenter in vSphere. This is the name of the datacenter as it appears in vSphere.","description_kind":"plain","required":true},"folder":{"type":"string","description":"The name of the folder in vSphere. This is the name of the folder as it appears in vSphere.","description_kind":"plain","required":true},"image_template_folder":{"type":"string","description":"The name of the image template folder in vSphere. This is the name of the folder as it appears in vSphere.","description_kind":"plain","optional":true},"network_search_domain":{"type":"string","description":"The search domain to use for the cluster in case of DHCP.","description_kind":"plain","optional":true},"network_type":{"type":"string","description":"The type of network to use for the cluster. This can be `VIP` or `DDNS`.","description_kind":"plain","optional":true},"ntp_servers":{"type":["set","string"],"description":"A list of NTP servers to be used by the cluster.","description_kind":"plain","optional":true},"ssh_key":{"type":"string","description":"The SSH key to be used for the cluster. This is the public key that will be used to access the cluster nodes. `ssh_key \u0026 ssh_keys` are mutually exclusive.","description_kind":"plain","deprecated":true,"optional":true},"ssh_keys":{"type":["set","string"],"description":"List of public SSH (Secure Shell) keys to establish, administer, and communicate with remote clusters, `ssh_key \u0026 ssh_keys` are mutually exclusive.","description_kind":"plain","optional":true},"static_ip":{"type":"bool","description":"Whether to use static IP addresses for the cluster. If `true`, the cluster will use static IP addresses. If `false`, the cluster will use DDNS. Default is `false`.","description_kind":"plain","optional":true}},"description_kind":"plain"},"min_items":1,"max_items":1},"cluster_profile":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The ID of the cluster profile.","description_kind":"plain","required":true}},"block_types":{"pack":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile. ","description_kind":"plain","required":true},"registry_uid":{"type":"string","description":"The registry UID of the pack. The registry UID is the unique identifier of the registry. This attribute is required if there is more than one registry that contains a pack with the same name. ","description_kind":"plain","optional":true},"tag":{"type":"string","description":"The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. ","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`.","description_kind":"plain","optional":true},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the [`spectrocloud_pack`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) data source. This value is required if the pack type is `spectro` and for `helm` if the chart is from a public helm registry.","description_kind":"plain","optional":true,"computed":true},"values":{"type":"string","description":"The values of the pack. The values are the configuration values of the pack. The values are specified in YAML format. ","description_kind":"plain","optional":true}},"block_types":{"manifest":{"nesting_mode":"list","block":{"attributes":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest. ","description_kind":"plain","required":true},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack. ","description_kind":"plain","required":true},"uid":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}}},"description":"For packs of type `spectro`, `helm`, and `manifest`, at least one pack must be specified.","description_kind":"plain"}}},"description_kind":"plain"}},"cluster_rbac_binding":{"nesting_mode":"list","block":{"attributes":{"namespace":{"type":"string","description":"The Kubernetes namespace of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"role":{"type":["map","string"],"description":"The role of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`.","description_kind":"plain","required":true}},"block_types":{"subjects":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the subject. Required if 'type' is set to 'User' or 'Group'.","description_kind":"plain","required":true},"namespace":{"type":"string","description":"The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description":"The RBAC binding for the cluster.","description_kind":"plain"}},"host_config":{"nesting_mode":"list","block":{"attributes":{"external_traffic_policy":{"type":"string","description":"The external traffic policy for the cluster.","description_kind":"plain","optional":true},"host_endpoint_type":{"type":"string","description":"The type of endpoint for the cluster. Can be either 'Ingress' or 'LoadBalancer'. The default is 'Ingress'.","description_kind":"plain","optional":true},"ingress_host":{"type":"string","description":"The host for the Ingress endpoint. Required if 'host_endpoint_type' is set to 'Ingress'.","description_kind":"plain","optional":true},"load_balancer_source_ranges":{"type":"string","description":"The source ranges for the load balancer. Required if 'host_endpoint_type' is set to 'LoadBalancer'.","description_kind":"plain","optional":true}},"description":"The host configuration for the cluster.","description_kind":"plain"}},"location_config":{"nesting_mode":"list","block":{"attributes":{"country_code":{"type":"string","description":"The country code of the country the cluster is located in.","description_kind":"plain","optional":true},"country_name":{"type":"string","description":"The name of the country.","description_kind":"plain","optional":true},"latitude":{"type":"number","description":"The latitude coordinates value.","description_kind":"plain","required":true},"longitude":{"type":"number","description":"The longitude coordinates value.","description_kind":"plain","required":true},"region_code":{"type":"string","description":"The region code of where the cluster is located in.","description_kind":"plain","optional":true},"region_name":{"type":"string","description":"The name of the region.","description_kind":"plain","optional":true}},"description_kind":"plain"}},"machine_pool":{"nesting_mode":"set","block":{"attributes":{"additional_labels":{"type":["map","string"],"description_kind":"plain","optional":true},"control_plane":{"type":"bool","description":"Whether this machine pool is a control plane. Defaults to `false`.","description_kind":"plain","optional":true},"control_plane_as_worker":{"type":"bool","description":"Whether this machine pool is a control plane and a worker. Defaults to `false`.","description_kind":"plain","optional":true},"count":{"type":"number","description":"Number of nodes in the machine pool.","description_kind":"plain","required":true},"max":{"type":"number","description":"Maximum number of nodes in the machine pool. This is used for autoscaling the machine pool.","description_kind":"plain","optional":true},"min":{"type":"number","description":"Minimum number of nodes in the machine pool. This is used for autoscaling the machine pool.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the machine pool. This is used to identify the machine pool in the cluster.","description_kind":"plain","required":true},"node_repave_interval":{"type":"number","description":"Minimum number of seconds node should be Ready, before the next node is selected for repave. Default value is `0`, Applicable only for worker pools.","description_kind":"plain","optional":true},"update_strategy":{"type":"string","description":"Update strategy for the machine pool. Valid values are `RollingUpdateScaleOut` and `RollingUpdateScaleIn`.","description_kind":"plain","optional":true}},"block_types":{"instance_type":{"nesting_mode":"list","block":{"attributes":{"cpu":{"type":"number","description":"The number of CPUs.","description_kind":"plain","required":true},"disk_size_gb":{"type":"number","description":"The size of the disk in GB.","description_kind":"plain","required":true},"memory_mb":{"type":"number","description":"The amount of memory in MB.","description_kind":"plain","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1},"node":{"nesting_mode":"list","block":{"attributes":{"action":{"type":"string","description":"The action to perform on the node. Valid values are: `cordon`, `uncordon`.","description_kind":"plain","required":true},"node_id":{"type":"string","description":"The node_id of the node, For example `i-07f899a33dee624f7`","description_kind":"plain","required":true}},"description_kind":"plain"}},"placement":{"nesting_mode":"list","block":{"attributes":{"cluster":{"type":"string","description":"The name of the cluster to use for the machine pool. As it appears in the vSphere.","description_kind":"plain","required":true},"datastore":{"type":"string","description":"The name of the datastore to use for the machine pool. As it appears in the vSphere.","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","computed":true},"network":{"type":"string","description":"The name of the network to use for the machine pool. As it appears in the vSphere.","description_kind":"plain","required":true},"resource_pool":{"type":"string","description":"The name of the resource pool to use for the machine pool. As it appears in the vSphere.","description_kind":"plain","required":true},"static_ip_pool_id":{"type":"string","description":"The ID of the static IP pool to use for the machine pool in case of static cluster placement.","description_kind":"plain","optional":true}},"description_kind":"plain"},"min_items":1},"taints":{"nesting_mode":"list","block":{"attributes":{"effect":{"type":"string","description":"The effect of the taint. Allowed values are: `NoSchedule`, `PreferNoSchedule` or `NoExecute`.","description_kind":"plain","required":true},"key":{"type":"string","description":"The key of the taint.","description_kind":"plain","required":true},"value":{"type":"string","description":"The value of the taint.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description_kind":"plain"},"min_items":1},"namespaces":{"nesting_mode":"list","block":{"attributes":{"images_blacklist":{"type":["list","string"],"description":"List of images to disallow for the namespace. For example, `['nginx:latest', 'redis:latest']`","description_kind":"plain","optional":true},"name":{"type":"string","description":"Name of the namespace. This is the name of the Kubernetes namespace in the cluster.","description_kind":"plain","required":true},"resource_allocation":{"type":["map","string"],"description":"Resource allocation for the namespace. This is a map containing the resource type and the resource value. For example, `{cpu_cores: '2', memory_MiB: '2048'}`","description_kind":"plain","required":true}},"description":"The namespaces for the cluster.","description_kind":"plain"}},"scan_policy":{"nesting_mode":"list","block":{"attributes":{"configuration_scan_schedule":{"type":"string","description":"The schedule for configuration scan.","description_kind":"plain","required":true},"conformance_scan_schedule":{"type":"string","description":"The schedule for conformance scan.","description_kind":"plain","required":true},"penetration_scan_schedule":{"type":"string","description":"The schedule for penetration scan.","description_kind":"plain","required":true}},"description":"The scan policy for the cluster.","description_kind":"plain"},"max_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":"A resource to manage a vSphere cluster in Palette.","description_kind":"plain"}},"spectrocloud_datavolume":{"version":0,"block":{"attributes":{"cluster_context":{"type":"string","description_kind":"plain","required":true},"cluster_uid":{"type":"string","description":"The cluster UID to which the virtual machine belongs to.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"vm_name":{"type":"string","description":"The name of the virtual machine to which the data volume belongs to.","description_kind":"plain","optional":true},"vm_namespace":{"type":"string","description":"The namespace of the virtual machine to which the data volume belongs to.","description_kind":"plain","optional":true}},"block_types":{"add_volume_options":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description_kind":"plain","required":true}},"block_types":{"disk":{"nesting_mode":"list","block":{"attributes":{"bus":{"type":"string","description_kind":"plain","required":true},"name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1},"volume_source":{"nesting_mode":"list","block":{"block_types":{"data_volume":{"nesting_mode":"list","block":{"attributes":{"hotpluggable":{"type":"bool","description_kind":"plain","optional":true},"name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1}},"description_kind":"plain"},"min_items":1,"max_items":1}},"description":"DataVolumeSpec defines our specification for a DataVolume type","description_kind":"plain"},"min_items":1,"max_items":1},"metadata":{"nesting_mode":"list","block":{"attributes":{"annotations":{"type":["map","string"],"description":"An unstructured key value map stored with the DataVolume that may be used to store arbitrary metadata. More info: http://kubernetes.io/docs/user-guide/annotations","description_kind":"plain","optional":true,"computed":true},"generation":{"type":"number","description":"A sequence number representing a specific generation of the desired state.","description_kind":"plain","computed":true},"labels":{"type":["map","string"],"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the DataVolume. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels","description_kind":"plain","optional":true},"name":{"type":"string","description":"Name of the DataVolume, must be unique. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names","description_kind":"plain","optional":true,"computed":true},"namespace":{"type":"string","description":"Namespace defines the space within which name of the DataVolume must be unique.","description_kind":"plain","optional":true},"resource_version":{"type":"string","description":"An opaque value that represents the internal version of this DataVolume that can be used by clients to determine when DataVolume has changed. Read more: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency","description_kind":"plain","computed":true},"self_link":{"type":"string","description":"A URL representing this DataVolume.","description_kind":"plain","computed":true},"uid":{"type":"string","description":"The unique in time and space value for this DataVolume. More info: http://kubernetes.io/docs/user-guide/identifiers#uids","description_kind":"plain","computed":true}},"description":"Standard DataVolume's metadata. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata","description_kind":"plain"},"min_items":1,"max_items":1},"spec":{"nesting_mode":"list","block":{"attributes":{"content_type":{"type":"string","description":"ContentType options: \"kubevirt\", \"archive\".","description_kind":"plain","optional":true}},"block_types":{"pvc":{"nesting_mode":"list","block":{"attributes":{"access_modes":{"type":["set","string"],"description":"A set of the desired access modes the volume should have. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#access-modes-1","description_kind":"plain","required":true},"storage_class_name":{"type":"string","description":"Name of the storage class requested by the claim","description_kind":"plain","optional":true,"computed":true},"volume_mode":{"type":"string","description":"volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec.","description_kind":"plain","optional":true,"computed":true},"volume_name":{"type":"string","description":"The binding reference to the PersistentVolume backing this claim.","description_kind":"plain","optional":true,"computed":true}},"block_types":{"resources":{"nesting_mode":"list","block":{"attributes":{"limits":{"type":["map","string"],"description":"Map describing the maximum amount of compute resources allowed. More info: http://kubernetes.io/docs/user-guide/compute-resources/","description_kind":"plain","optional":true},"requests":{"type":["map","string"],"description":"Map describing the minimum amount of compute resources required. If this is omitted for a container, it defaults to `limits` if that is explicitly specified, otherwise to an implementation-defined value. More info: http://kubernetes.io/docs/user-guide/compute-resources/","description_kind":"plain","optional":true}},"description":"A list of the minimum resources the volume should have. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#resources","description_kind":"plain"},"min_items":1,"max_items":1},"selector":{"nesting_mode":"list","block":{"attributes":{"match_labels":{"type":["map","string"],"description":"A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of `match_expressions`, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.","description_kind":"plain","optional":true}},"block_types":{"match_expressions":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The label key that the selector applies to.","description_kind":"plain","optional":true},"operator":{"type":"string","description":"A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`.","description_kind":"plain","optional":true},"values":{"type":["set","string"],"description":"An array of string values. If the operator is `In` or `NotIn`, the values array must be non-empty. If the operator is `Exists` or `DoesNotExist`, the values array must be empty. This array is replaced during a strategic merge patch.","description_kind":"plain","optional":true}},"description":"A list of label selector requirements. The requirements are ANDed.","description_kind":"plain"}}},"description":"A label query over volumes to consider for binding.","description_kind":"plain"},"max_items":1}},"description":"PVC is a pointer to the PVC Spec we want to use.","description_kind":"plain"},"min_items":1,"max_items":1},"source":{"nesting_mode":"list","block":{"block_types":{"blank":{"nesting_mode":"list","block":{"description":"DataVolumeSourceBlank provides the parameters to create a Data Volume from an empty source.","description_kind":"plain"},"max_items":1},"http":{"nesting_mode":"list","block":{"attributes":{"cert_config_map":{"type":"string","description":"Cert_config_map provides a reference to the Registry certs.","description_kind":"plain","optional":true},"secret_ref":{"type":"string","description":"Secret_ref provides the secret reference needed to access the HTTP source.","description_kind":"plain","optional":true},"url":{"type":"string","description":"url is the URL of the http source.","description_kind":"plain","optional":true}},"description":"DataVolumeSourceHTTP provides the parameters to create a Data Volume from an HTTP source.","description_kind":"plain"},"max_items":1},"pvc":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the PVC.","description_kind":"plain","optional":true},"namespace":{"type":"string","description":"The namespace which the PVC located in.","description_kind":"plain","optional":true}},"description":"DataVolumeSourcePVC provides the parameters to create a Data Volume from an existing PVC.","description_kind":"plain"},"max_items":1},"registry":{"nesting_mode":"list","block":{"attributes":{"image_url":{"type":"string","description":"The registry URL of the image to download.","description_kind":"plain","optional":true}},"description":"DataVolumeSourceRegistry provides the parameters to create a Data Volume from an existing PVC.","description_kind":"plain"},"max_items":1}},"description":"Source is the src of the data for the requested DataVolume.","description_kind":"plain"},"max_items":1}},"description":"DataVolumeSpec defines our specification for a DataVolume type","description_kind":"plain"},"min_items":1,"max_items":1},"status":{"nesting_mode":"list","block":{"attributes":{"phase":{"type":"string","description":"DataVolumePhase is the current phase of the DataVolume.","description_kind":"plain","optional":true,"computed":true},"progress":{"type":"string","description":"DataVolumePhase is the current phase of the DataVolume.","description_kind":"plain","optional":true,"computed":true}},"description":"DataVolumeStatus provides the parameters to store the phase of the Data Volume","description_kind":"plain"},"max_items":1},"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"}},"spectrocloud_filter":{"version":2,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"block_types":{"metadata":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the filter.","description_kind":"plain","required":true}},"description":"Metadata of the filter.","description_kind":"plain"},"min_items":1,"max_items":1},"spec":{"nesting_mode":"list","block":{"block_types":{"filter_group":{"nesting_mode":"list","block":{"attributes":{"conjunction":{"type":"string","description":"Conjunction operation of the filter group. Valid values are 'and' and 'or'.","description_kind":"plain","required":true}},"block_types":{"filters":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"Key of the filter.","description_kind":"plain","required":true},"negation":{"type":"bool","description":"Negation flag of the filter condition.","description_kind":"plain","optional":true},"operator":{"type":"string","description":"Operator of the filter. Valid values are 'eq'.","description_kind":"plain","required":true},"values":{"type":["list","string"],"description":"Values of the filter.","description_kind":"plain","required":true}},"description":"List of filters in the filter group.","description_kind":"plain"},"min_items":1}},"description":"Filter group of the filter.","description_kind":"plain"},"min_items":1,"max_items":1}},"description":"Specification of the filter.","description_kind":"plain"},"min_items":1,"max_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":"A resource for creating and managing filters.","description_kind":"plain"}},"spectrocloud_macro":{"version":2,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"The name of the macro or service variable output.","description_kind":"plain","required":true},"project":{"type":"string","description":"The Spectro Cloud project name.","description_kind":"plain","optional":true},"value":{"type":"string","description":"The value that the macro or service output variable will contain.","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},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description":"A resource for creating and managing service output variables and macro.","description_kind":"plain"}},"spectrocloud_macros":{"version":1,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"macros":{"type":["map","string"],"description":"The key-value mapping includes the macro name and its corresponding value, representing either a macro or a service variable output.","description_kind":"plain","required":true},"project":{"type":"string","description":"The Spectro Cloud project name.","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":"A resource for creating and managing service output variables and macros.","description_kind":"plain"}},"spectrocloud_privatecloudgateway_ippool":{"version":2,"block":{"attributes":{"gateway":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_end_range":{"type":"string","description_kind":"plain","optional":true},"ip_start_range":{"type":"string","description_kind":"plain","optional":true},"name":{"type":"string","description_kind":"plain","required":true},"nameserver_addresses":{"type":["set","string"],"description_kind":"plain","optional":true},"nameserver_search_suffix":{"type":["set","string"],"description_kind":"plain","optional":true},"network_type":{"type":"string","description_kind":"plain","required":true},"prefix":{"type":"number","description_kind":"plain","required":true},"private_cloud_gateway_id":{"type":"string","description_kind":"plain","required":true},"restrict_to_single_cluster":{"type":"bool","description_kind":"plain","optional":true},"subnet_cidr":{"type":"string","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"}},"spectrocloud_project":{"version":2,"block":{"attributes":{"description":{"type":"string","description":"The description of the project.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"The name of the project.","description_kind":"plain","required":true},"tags":{"type":["set","string"],"description":"Assign tags to the project.","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":"Create and manage projects in Palette.","description_kind":"plain"}},"spectrocloud_registry_helm":{"version":2,"block":{"attributes":{"endpoint":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"is_private":{"type":"bool","description_kind":"plain","required":true},"name":{"type":"string","description_kind":"plain","required":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"credential_type":{"type":"string","description_kind":"plain","required":true},"password":{"type":"string","description_kind":"plain","optional":true},"token":{"type":"string","description_kind":"plain","optional":true},"username":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"},"min_items":1,"max_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"}},"spectrocloud_registry_oci":{"version":2,"block":{"attributes":{"endpoint":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"is_private":{"type":"bool","description_kind":"plain","required":true},"name":{"type":"string","description_kind":"plain","required":true},"type":{"type":"string","description_kind":"plain","required":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"access_key":{"type":"string","description_kind":"plain","optional":true},"arn":{"type":"string","description_kind":"plain","optional":true},"credential_type":{"type":"string","description_kind":"plain","required":true},"external_id":{"type":"string","description_kind":"plain","optional":true},"secret_key":{"type":"string","description_kind":"plain","optional":true,"sensitive":true}},"description_kind":"plain"},"min_items":1,"max_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"}},"spectrocloud_team":{"version":2,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the team. ","description_kind":"plain","required":true},"tenant_role_mapping":{"type":["set","string"],"description":"List of tenant role ids to be associated with the team. ","description_kind":"plain","optional":true},"users":{"type":["set","string"],"description":"List of user ids to be associated with the team. ","description_kind":"plain","optional":true}},"block_types":{"project_role_mapping":{"nesting_mode":"set","block":{"attributes":{"id":{"type":"string","description":"Project id to be associated with the team.","description_kind":"plain","required":true},"roles":{"type":["set","string"],"description":"List of project roles to be associated with the team. ","description_kind":"plain","required":true}},"description":"List of project roles to be associated with the team. ","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"}},"workspace_role_mapping":{"nesting_mode":"set","block":{"attributes":{"id":{"type":"string","description":"Project id to be associated with the team.","description_kind":"plain","required":true}},"block_types":{"workspace":{"nesting_mode":"set","block":{"attributes":{"id":{"type":"string","description":"Workspace id to be associated with the team.","description_kind":"plain","required":true},"roles":{"type":["set","string"],"description":"List of workspace roles to be associated with the team.","description_kind":"plain","optional":true}},"description":"List of workspace roles to be associated with the team. ","description_kind":"plain"}}},"description":"List of workspace roles to be associated with the team. ","description_kind":"plain"}}},"description_kind":"plain"}},"spectrocloud_virtual_cluster":{"version":2,"block":{"attributes":{"admin_kube_config":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using `kubectl`, With admin privilege.","description_kind":"plain","computed":true},"apply_setting":{"type":"string","description":"The setting to apply the cluster profile. `DownloadAndInstall` will download and install packs in one action. `DownloadAndInstallLater` will only download artifact and postpone install for later. Default value is `DownloadAndInstall`.","description_kind":"plain","optional":true},"cloud_config_id":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type `azure`.","description_kind":"plain","deprecated":true,"computed":true},"cluster_group_uid":{"type":"string","description_kind":"plain","optional":true},"context":{"type":"string","description":"The context of the virtual cluster. Allowed values are `project` or `tenant`. Default is `project`. If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.","description_kind":"plain","optional":true},"force_delete":{"type":"bool","description":"If set to `true`, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.","description_kind":"plain","optional":true},"force_delete_delay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.","description_kind":"plain","optional":true},"host_cluster_uid":{"type":"string","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using `kubectl`.","description_kind":"plain","computed":true},"location_config":{"type":["list",["object",{"country_code":"string","country_name":"string","latitude":"number","longitude":"number","region_code":"string","region_name":"string"}]],"description":"The location of the cluster.","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true},"os_patch_after":{"type":"string","description":"The date and time after which to patch the cluster. Prefix the time value with the respective RFC. Ex: `RFC3339: 2006-01-02T15:04:05Z07:00`","description_kind":"plain","optional":true},"os_patch_on_boot":{"type":"bool","description":"Whether to apply OS patch on boot. Default is `false`.","description_kind":"plain","optional":true},"os_patch_schedule":{"type":"string","description":"Cron schedule for OS patching. This must be in the form of `0 0 * * *`.","description_kind":"plain","optional":true},"pause_cluster":{"type":"bool","description":"To pause and resume cluster state. Set to true to pause running cluster \u0026 false to resume it.","description_kind":"plain","optional":true},"skip_completion":{"type":"bool","description":"If `true`, the cluster will be created asynchronously. Default value is `false`.","description_kind":"plain","optional":true},"tags":{"type":["set","string"],"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.","description_kind":"plain","optional":true}},"block_types":{"backup_policy":{"nesting_mode":"list","block":{"attributes":{"backup_location_id":{"type":"string","description":"The ID of the backup location to use for the backup.","description_kind":"plain","required":true},"cluster_uids":{"type":["set","string"],"description":"The list of cluster UIDs to include in the backup. If `include_all_clusters` is set to `true`, then all clusters will be included.","description_kind":"plain","optional":true},"expiry_in_hour":{"type":"number","description":"The number of hours after which the backup will be deleted. For example, if the expiry is set to 24, the backup will be deleted after 24 hours.","description_kind":"plain","required":true},"include_all_clusters":{"type":"bool","description":"Whether to include all clusters in the backup. If set to false, only the clusters specified in `cluster_uids` will be included.","description_kind":"plain","optional":true},"include_cluster_resources":{"type":"bool","description":"Whether to include the cluster resources in the backup. If set to false, only the cluster configuration and disks will be backed up.","description_kind":"plain","optional":true},"include_disks":{"type":"bool","description":"Whether to include the disks in the backup. If set to false, only the cluster configuration will be backed up.","description_kind":"plain","optional":true},"namespaces":{"type":["set","string"],"description":"The list of Kubernetes namespaces to include in the backup. If not specified, all namespaces will be included.","description_kind":"plain","optional":true},"prefix":{"type":"string","description":"Prefix for the backup name. The backup name will be of the format \u003cprefix\u003e-\u003ccluster-name\u003e-\u003ctimestamp\u003e.","description_kind":"plain","required":true},"schedule":{"type":"string","description":"The schedule for the backup. The schedule is specified in cron format. For example, to run the backup every day at 1:00 AM, the schedule should be set to `0 1 * * *`.","description_kind":"plain","required":true}},"description":"The backup policy for the cluster. If not specified, no backups will be taken.","description_kind":"plain"},"max_items":1},"cloud_config":{"nesting_mode":"list","block":{"attributes":{"chart_name":{"type":"string","description_kind":"plain","optional":true},"chart_repo":{"type":"string","description_kind":"plain","optional":true},"chart_values":{"type":"string","description_kind":"plain","optional":true},"chart_version":{"type":"string","description_kind":"plain","optional":true},"k8s_version":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"cluster_profile":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The ID of the cluster profile.","description_kind":"plain","required":true}},"block_types":{"pack":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile. ","description_kind":"plain","required":true},"registry_uid":{"type":"string","description":"The registry UID of the pack. The registry UID is the unique identifier of the registry. This attribute is required if there is more than one registry that contains a pack with the same name. ","description_kind":"plain","optional":true},"tag":{"type":"string","description":"The tag of the pack. The tag is the version of the pack. This attribute is required if the pack type is `spectro` or `helm`. ","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`.","description_kind":"plain","optional":true},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the [`spectrocloud_pack`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) data source. This value is required if the pack type is `spectro` and for `helm` if the chart is from a public helm registry.","description_kind":"plain","optional":true,"computed":true},"values":{"type":"string","description":"The values of the pack. The values are the configuration values of the pack. The values are specified in YAML format. ","description_kind":"plain","optional":true}},"block_types":{"manifest":{"nesting_mode":"list","block":{"attributes":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest. ","description_kind":"plain","required":true},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack. ","description_kind":"plain","required":true},"uid":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}}},"description":"For packs of type `spectro`, `helm`, and `manifest`, at least one pack must be specified.","description_kind":"plain"}}},"description_kind":"plain"}},"cluster_rbac_binding":{"nesting_mode":"list","block":{"attributes":{"namespace":{"type":"string","description":"The Kubernetes namespace of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"role":{"type":["map","string"],"description":"The role of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`.","description_kind":"plain","required":true}},"block_types":{"subjects":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the subject. Required if 'type' is set to 'User' or 'Group'.","description_kind":"plain","required":true},"namespace":{"type":"string","description":"The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description":"The RBAC binding for the cluster.","description_kind":"plain"}},"namespaces":{"nesting_mode":"list","block":{"attributes":{"images_blacklist":{"type":["list","string"],"description":"List of images to disallow for the namespace. For example, `['nginx:latest', 'redis:latest']`","description_kind":"plain","optional":true},"name":{"type":"string","description":"Name of the namespace. This is the name of the Kubernetes namespace in the cluster.","description_kind":"plain","required":true},"resource_allocation":{"type":["map","string"],"description":"Resource allocation for the namespace. This is a map containing the resource type and the resource value. For example, `{cpu_cores: '2', memory_MiB: '2048'}`","description_kind":"plain","required":true}},"description":"The namespaces for the cluster.","description_kind":"plain"}},"resources":{"nesting_mode":"list","block":{"attributes":{"max_cpu":{"type":"number","description_kind":"plain","optional":true},"max_mem_in_mb":{"type":"number","description_kind":"plain","optional":true},"max_storage_in_gb":{"type":"number","description_kind":"plain","optional":true},"min_cpu":{"type":"number","description_kind":"plain","optional":true},"min_mem_in_mb":{"type":"number","description_kind":"plain","optional":true},"min_storage_in_gb":{"type":"number","description_kind":"plain","optional":true}},"description_kind":"plain"}},"scan_policy":{"nesting_mode":"list","block":{"attributes":{"configuration_scan_schedule":{"type":"string","description":"The schedule for configuration scan.","description_kind":"plain","required":true},"conformance_scan_schedule":{"type":"string","description":"The schedule for conformance scan.","description_kind":"plain","required":true},"penetration_scan_schedule":{"type":"string","description":"The schedule for penetration scan.","description_kind":"plain","required":true}},"description":"The scan policy for the cluster.","description_kind":"plain"},"max_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":"A resource to manage a Palette Virtual Cluster.","description_kind":"plain"}},"spectrocloud_virtual_machine":{"version":0,"block":{"attributes":{"annotations":{"type":["map","string"],"description":"An unstructured key value map stored with the VM that may be used to store arbitrary metadata.","description_kind":"plain","optional":true,"computed":true},"base_vm_name":{"type":"string","description":"The name of the source virtual machine that a clone will be created of.","description_kind":"plain","optional":true},"cluster_context":{"type":"string","description":"Context of the cluster. Allowed values are `project`, `tenant`. Default value is `project`.","description_kind":"plain","optional":true},"cluster_uid":{"type":"string","description":"The cluster UID to which the virtual machine belongs to.","description_kind":"plain","required":true},"dns_policy":{"type":"string","description":"DNSPolicy defines how a pod's DNS will be configured.","description_kind":"plain","optional":true},"eviction_strategy":{"type":"string","description":"EvictionStrategy can be set to \"LiveMigrate\" if the VirtualMachineInstance should be migrated instead of shut-off in case of a node drain.","description_kind":"plain","optional":true},"generate_name":{"type":"string","description":"Prefix, used by the server, to generate a unique name ONLY IF the `name` field has not been provided. This value will also be combined with a unique suffix. Read more: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#idempotency","description_kind":"plain","optional":true},"generation":{"type":"number","description":"A sequence number representing a specific generation of the desired state.","description_kind":"plain","computed":true},"hostname":{"type":"string","description":"Specifies the hostname of the vmi.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"labels":{"type":["map","string"],"description":"Map of string keys and values that can be used to organize and categorize (scope and select). May match selectors of replication controllers and services.","description_kind":"plain","optional":true},"name":{"type":"string","description":"Name of the virtual machine, must be unique. Cannot be updated.","description_kind":"plain","required":true},"namespace":{"type":"string","description":"Namespace defines the space within, Name must be unique.","description_kind":"plain","optional":true},"node_selector":{"type":["map","string"],"description":"NodeSelector is a selector which must be true for the vmi to fit on a node. Selector which must match a node's labels for the vmi to be scheduled on that node.","description_kind":"plain","optional":true},"priority_class_name":{"type":"string","description":"If specified, indicates the pod's priority. If not specified, the pod priority will be default or zero if there is no default.","description_kind":"plain","optional":true},"resource_version":{"type":"string","description":"An opaque value that represents the internal version of this VM that can be used by clients to determine when VM has changed.","description_kind":"plain","computed":true},"run_on_launch":{"type":"bool","description":"If set to `true`, the virtual machine will be started when the cluster is launched. Default value is `true`.","description_kind":"plain","optional":true},"run_strategy":{"type":"string","description":"Running state indicates the requested running state of the VirtualMachineInstance, mutually exclusive with Running.","description_kind":"plain","optional":true},"scheduler_name":{"type":"string","description":"If specified, the VMI will be dispatched by specified scheduler. If not specified, the VMI will be dispatched by default scheduler.","description_kind":"plain","optional":true},"self_link":{"type":"string","description":"A URL representing this VM.","description_kind":"plain","computed":true},"subdomain":{"type":"string","description":"If specified, the fully qualified vmi hostname will be \"\u003chostname\u003e.\u003csubdomain\u003e.\u003cpod namespace\u003e.svc.\u003ccluster domain\u003e\".","description_kind":"plain","optional":true},"termination_grace_period_seconds":{"type":"number","description":"Grace period observed after signalling a VirtualMachineInstance to stop after which the VirtualMachineInstance is force terminated.","description_kind":"plain","optional":true},"uid":{"type":"string","description":"The unique in time and space value for this VM.","description_kind":"plain","computed":true},"vm_action":{"type":"string","description":"The action to be performed on the virtual machine. Valid values are: `start`, `stop`, `restart`, `pause`, `resume`, `migrate`. Default value is `start`.","description_kind":"plain","optional":true}},"block_types":{"affinity":{"nesting_mode":"list","block":{"block_types":{"node_affinity":{"nesting_mode":"list","block":{"block_types":{"preferred_during_scheduling_ignored_during_execution":{"nesting_mode":"list","block":{"attributes":{"weight":{"type":"number","description":"weight is in the range 1-100","description_kind":"plain","required":true}},"block_types":{"preference":{"nesting_mode":"list","block":{"block_types":{"match_expressions":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The label key that the selector applies to.","description_kind":"plain","optional":true},"operator":{"type":"string","description":"Operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.","description_kind":"plain","optional":true},"values":{"type":["set","string"],"description":"Values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.","description_kind":"plain","optional":true}},"description":"List of node selector requirements. The requirements are ANDed.","description_kind":"plain"}}},"description":"A node selector term, associated with the corresponding weight.","description_kind":"plain"},"min_items":1,"max_items":1}},"description":"The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, RequiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding 'weight' to the sum if the node matches the corresponding MatchExpressions; the node(s) with the highest sum are the most preferred.","description_kind":"plain"}},"required_during_scheduling_ignored_during_execution":{"nesting_mode":"list","block":{"block_types":{"node_selector_term":{"nesting_mode":"list","block":{"block_types":{"match_expressions":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The label key that the selector applies to.","description_kind":"plain","optional":true},"operator":{"type":"string","description":"Operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.","description_kind":"plain","optional":true},"values":{"type":["set","string"],"description":"Values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.","description_kind":"plain","optional":true}},"description":"List of node selector requirements. The requirements are ANDed.","description_kind":"plain"}}},"description":"List of node selector terms. The terms are ORed.","description_kind":"plain"}}},"description":"If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a node label update), the system may or may not try to eventually evict the pod from its node.","description_kind":"plain"},"max_items":1}},"description":"Node affinity scheduling rules for the pod.","description_kind":"plain"},"max_items":1},"pod_affinity":{"nesting_mode":"list","block":{"block_types":{"preferred_during_scheduling_ignored_during_execution":{"nesting_mode":"list","block":{"attributes":{"weight":{"type":"number","description":"weight associated with matching the corresponding podAffinityTerm, in the range 1-100","description_kind":"plain","required":true}},"block_types":{"pod_affinity_term":{"nesting_mode":"list","block":{"attributes":{"namespaces":{"type":["set","string"],"description":"namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means 'this pod's namespace'","description_kind":"plain","optional":true},"topology_key":{"type":"string","description":"empty topology key is interpreted by the scheduler as 'all topologies'","description_kind":"plain","optional":true}},"block_types":{"label_selector":{"nesting_mode":"list","block":{"attributes":{"match_labels":{"type":["map","string"],"description":"A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of `match_expressions`, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.","description_kind":"plain","optional":true}},"block_types":{"match_expressions":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The label key that the selector applies to.","description_kind":"plain","optional":true},"operator":{"type":"string","description":"A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`.","description_kind":"plain","optional":true},"values":{"type":["set","string"],"description":"An array of string values. If the operator is `In` or `NotIn`, the values array must be non-empty. If the operator is `Exists` or `DoesNotExist`, the values array must be empty. This array is replaced during a strategic merge patch.","description_kind":"plain","optional":true}},"description":"A list of label selector requirements. The requirements are ANDed.","description_kind":"plain"}}},"description":"A label query over a set of resources, in this case pods.","description_kind":"plain"}}},"description":"A pod affinity term, associated with the corresponding weight","description_kind":"plain"},"min_items":1,"max_items":1}},"description":"The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, RequiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding 'weight' to the sum if the node matches the corresponding MatchExpressions; the node(s) with the highest sum are the most preferred.","description_kind":"plain"}},"required_during_scheduling_ignored_during_execution":{"nesting_mode":"list","block":{"attributes":{"namespaces":{"type":["set","string"],"description":"namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means 'this pod's namespace'","description_kind":"plain","optional":true},"topology_key":{"type":"string","description":"empty topology key is interpreted by the scheduler as 'all topologies'","description_kind":"plain","optional":true}},"block_types":{"label_selector":{"nesting_mode":"list","block":{"attributes":{"match_labels":{"type":["map","string"],"description":"A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of `match_expressions`, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.","description_kind":"plain","optional":true}},"block_types":{"match_expressions":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The label key that the selector applies to.","description_kind":"plain","optional":true},"operator":{"type":"string","description":"A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`.","description_kind":"plain","optional":true},"values":{"type":["set","string"],"description":"An array of string values. If the operator is `In` or `NotIn`, the values array must be non-empty. If the operator is `Exists` or `DoesNotExist`, the values array must be empty. This array is replaced during a strategic merge patch.","description_kind":"plain","optional":true}},"description":"A list of label selector requirements. The requirements are ANDed.","description_kind":"plain"}}},"description":"A label query over a set of resources, in this case pods.","description_kind":"plain"}}},"description":"If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each PodAffinityTerm are intersected, i.e. all terms must be satisfied.","description_kind":"plain"}}},"description":"Inter-pod topological affinity. rules that specify that certain pods should be placed in the same topological domain (e.g. same node, same rack, same zone, same power domain, etc.)","description_kind":"plain"},"max_items":1},"pod_anti_affinity":{"nesting_mode":"list","block":{"block_types":{"preferred_during_scheduling_ignored_during_execution":{"nesting_mode":"list","block":{"attributes":{"weight":{"type":"number","description":"weight associated with matching the corresponding podAffinityTerm, in the range 1-100","description_kind":"plain","required":true}},"block_types":{"pod_affinity_term":{"nesting_mode":"list","block":{"attributes":{"namespaces":{"type":["set","string"],"description":"namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means 'this pod's namespace'","description_kind":"plain","optional":true},"topology_key":{"type":"string","description":"empty topology key is interpreted by the scheduler as 'all topologies'","description_kind":"plain","optional":true}},"block_types":{"label_selector":{"nesting_mode":"list","block":{"attributes":{"match_labels":{"type":["map","string"],"description":"A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of `match_expressions`, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.","description_kind":"plain","optional":true}},"block_types":{"match_expressions":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The label key that the selector applies to.","description_kind":"plain","optional":true},"operator":{"type":"string","description":"A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`.","description_kind":"plain","optional":true},"values":{"type":["set","string"],"description":"An array of string values. If the operator is `In` or `NotIn`, the values array must be non-empty. If the operator is `Exists` or `DoesNotExist`, the values array must be empty. This array is replaced during a strategic merge patch.","description_kind":"plain","optional":true}},"description":"A list of label selector requirements. The requirements are ANDed.","description_kind":"plain"}}},"description":"A label query over a set of resources, in this case pods.","description_kind":"plain"}}},"description":"A pod affinity term, associated with the corresponding weight","description_kind":"plain"},"min_items":1,"max_items":1}},"description":"The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, RequiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding 'weight' to the sum if the node matches the corresponding MatchExpressions; the node(s) with the highest sum are the most preferred.","description_kind":"plain"}},"required_during_scheduling_ignored_during_execution":{"nesting_mode":"list","block":{"attributes":{"namespaces":{"type":["set","string"],"description":"namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means 'this pod's namespace'","description_kind":"plain","optional":true},"topology_key":{"type":"string","description":"empty topology key is interpreted by the scheduler as 'all topologies'","description_kind":"plain","optional":true}},"block_types":{"label_selector":{"nesting_mode":"list","block":{"attributes":{"match_labels":{"type":["map","string"],"description":"A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of `match_expressions`, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.","description_kind":"plain","optional":true}},"block_types":{"match_expressions":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The label key that the selector applies to.","description_kind":"plain","optional":true},"operator":{"type":"string","description":"A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`.","description_kind":"plain","optional":true},"values":{"type":["set","string"],"description":"An array of string values. If the operator is `In` or `NotIn`, the values array must be non-empty. If the operator is `Exists` or `DoesNotExist`, the values array must be empty. This array is replaced during a strategic merge patch.","description_kind":"plain","optional":true}},"description":"A list of label selector requirements. The requirements are ANDed.","description_kind":"plain"}}},"description":"A label query over a set of resources, in this case pods.","description_kind":"plain"}}},"description":"If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each PodAffinityTerm are intersected, i.e. all terms must be satisfied.","description_kind":"plain"}}},"description":"Inter-pod topological affinity. rules that specify that certain pods should be placed in the same topological domain (e.g. same node, same rack, same zone, same power domain, etc.)","description_kind":"plain"},"max_items":1}},"description":"Optional pod scheduling constraints.","description_kind":"plain"},"max_items":1},"cpu":{"nesting_mode":"list","block":{"attributes":{"cores":{"type":"number","description":"Cores is the number of cores inside the vmi. Must be a value greater or equal 1","description_kind":"plain","optional":true},"sockets":{"type":"number","description":"Sockets is the number of sockets inside the vmi. Must be a value greater or equal 1.","description_kind":"plain","optional":true},"threads":{"type":"number","description":"Threads is the number of threads inside the vmi. Must be a value greater or equal 1.","description_kind":"plain","optional":true}},"description":"CPU allows to specifying the CPU topology. Valid resource keys are \"cores\" , \"sockets\" and \"threads\"","description_kind":"plain"},"max_items":1},"data_volume_templates":{"nesting_mode":"list","block":{"block_types":{"metadata":{"nesting_mode":"list","block":{"attributes":{"annotations":{"type":["map","string"],"description":"An unstructured key value map stored with the DataVolume that may be used to store arbitrary metadata. More info: http://kubernetes.io/docs/user-guide/annotations","description_kind":"plain","optional":true,"computed":true},"generation":{"type":"number","description":"A sequence number representing a specific generation of the desired state.","description_kind":"plain","computed":true},"labels":{"type":["map","string"],"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the DataVolume. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels","description_kind":"plain","optional":true},"name":{"type":"string","description":"Name of the DataVolume, must be unique. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names","description_kind":"plain","optional":true,"computed":true},"namespace":{"type":"string","description":"Namespace defines the space within which name of the DataVolume must be unique.","description_kind":"plain","optional":true},"resource_version":{"type":"string","description":"An opaque value that represents the internal version of this DataVolume that can be used by clients to determine when DataVolume has changed. Read more: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency","description_kind":"plain","computed":true},"self_link":{"type":"string","description":"A URL representing this DataVolume.","description_kind":"plain","computed":true},"uid":{"type":"string","description":"The unique in time and space value for this DataVolume. More info: http://kubernetes.io/docs/user-guide/identifiers#uids","description_kind":"plain","computed":true}},"description":"Standard DataVolume's metadata. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata","description_kind":"plain"},"min_items":1,"max_items":1},"spec":{"nesting_mode":"list","block":{"attributes":{"content_type":{"type":"string","description":"ContentType options: \"kubevirt\", \"archive\".","description_kind":"plain","optional":true}},"block_types":{"pvc":{"nesting_mode":"list","block":{"attributes":{"access_modes":{"type":["set","string"],"description":"A set of the desired access modes the volume should have. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#access-modes-1","description_kind":"plain","required":true},"storage_class_name":{"type":"string","description":"Name of the storage class requested by the claim","description_kind":"plain","optional":true,"computed":true},"volume_mode":{"type":"string","description":"volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec.","description_kind":"plain","optional":true,"computed":true},"volume_name":{"type":"string","description":"The binding reference to the PersistentVolume backing this claim.","description_kind":"plain","optional":true,"computed":true}},"block_types":{"resources":{"nesting_mode":"list","block":{"attributes":{"limits":{"type":["map","string"],"description":"Map describing the maximum amount of compute resources allowed. More info: http://kubernetes.io/docs/user-guide/compute-resources/","description_kind":"plain","optional":true},"requests":{"type":["map","string"],"description":"Map describing the minimum amount of compute resources required. If this is omitted for a container, it defaults to `limits` if that is explicitly specified, otherwise to an implementation-defined value. More info: http://kubernetes.io/docs/user-guide/compute-resources/","description_kind":"plain","optional":true}},"description":"A list of the minimum resources the volume should have. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#resources","description_kind":"plain"},"min_items":1,"max_items":1},"selector":{"nesting_mode":"list","block":{"attributes":{"match_labels":{"type":["map","string"],"description":"A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of `match_expressions`, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.","description_kind":"plain","optional":true}},"block_types":{"match_expressions":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The label key that the selector applies to.","description_kind":"plain","optional":true},"operator":{"type":"string","description":"A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`.","description_kind":"plain","optional":true},"values":{"type":["set","string"],"description":"An array of string values. If the operator is `In` or `NotIn`, the values array must be non-empty. If the operator is `Exists` or `DoesNotExist`, the values array must be empty. This array is replaced during a strategic merge patch.","description_kind":"plain","optional":true}},"description":"A list of label selector requirements. The requirements are ANDed.","description_kind":"plain"}}},"description":"A label query over volumes to consider for binding.","description_kind":"plain"},"max_items":1}},"description":"PVC is a pointer to the PVC Spec we want to use.","description_kind":"plain"},"min_items":1,"max_items":1},"source":{"nesting_mode":"list","block":{"block_types":{"blank":{"nesting_mode":"list","block":{"description":"DataVolumeSourceBlank provides the parameters to create a Data Volume from an empty source.","description_kind":"plain"},"max_items":1},"http":{"nesting_mode":"list","block":{"attributes":{"cert_config_map":{"type":"string","description":"Cert_config_map provides a reference to the Registry certs.","description_kind":"plain","optional":true},"secret_ref":{"type":"string","description":"Secret_ref provides the secret reference needed to access the HTTP source.","description_kind":"plain","optional":true},"url":{"type":"string","description":"url is the URL of the http source.","description_kind":"plain","optional":true}},"description":"DataVolumeSourceHTTP provides the parameters to create a Data Volume from an HTTP source.","description_kind":"plain"},"max_items":1},"pvc":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the PVC.","description_kind":"plain","optional":true},"namespace":{"type":"string","description":"The namespace which the PVC located in.","description_kind":"plain","optional":true}},"description":"DataVolumeSourcePVC provides the parameters to create a Data Volume from an existing PVC.","description_kind":"plain"},"max_items":1},"registry":{"nesting_mode":"list","block":{"attributes":{"image_url":{"type":"string","description":"The registry URL of the image to download.","description_kind":"plain","optional":true}},"description":"DataVolumeSourceRegistry provides the parameters to create a Data Volume from an existing PVC.","description_kind":"plain"},"max_items":1}},"description":"Source is the src of the data for the requested DataVolume.","description_kind":"plain"},"max_items":1}},"description":"DataVolumeSpec defines our specification for a DataVolume type","description_kind":"plain"},"min_items":1,"max_items":1}},"description":"dataVolumeTemplates is a list of dataVolumes that the VirtualMachineInstance template can reference.","description_kind":"plain"}},"disk":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"Name is the device name","description_kind":"plain","required":true},"serial":{"type":"string","description":"Serial provides the ability to specify a serial number for the disk device.","description_kind":"plain","optional":true}},"block_types":{"disk_device":{"nesting_mode":"list","block":{"block_types":{"disk":{"nesting_mode":"list","block":{"attributes":{"bus":{"type":"string","description":"Bus indicates the type of disk device to emulate.","description_kind":"plain","required":true},"pci_address":{"type":"string","description":"If specified, the virtual disk will be placed on the guests pci address with the specifed PCI address. For example: 0000:81:01.10","description_kind":"plain","optional":true},"read_only":{"type":"bool","description":"ReadOnly. Defaults to false.","description_kind":"plain","optional":true}},"description":"Attach a volume as a disk to the vmi.","description_kind":"plain"}}},"description":"DiskDevice specifies as which device the disk should be added to the guest.","description_kind":"plain"},"min_items":1}},"description":"Disks describes disks, cdroms, floppy and luns which are connected to the vmi.","description_kind":"plain"}},"interface":{"nesting_mode":"list","block":{"attributes":{"interface_binding_method":{"type":"string","description":"Represents the Interface model, One of: e1000, e1000e, ne2k_pci, pcnet, rtl8139, virtio. Defaults to virtio.","description_kind":"plain","required":true},"model":{"type":"string","description":"Represents the method which will be used to connect the interface to the guest.","description_kind":"plain","optional":true},"name":{"type":"string","description":"Logical name of the interface as well as a reference to the associated networks.","description_kind":"plain","required":true}},"description":"Interfaces describe network interfaces which are added to the vmi.","description_kind":"plain"}},"liveness_probe":{"nesting_mode":"list","block":{"description":"Specification of the desired behavior of the VirtualMachineInstance on the host.","description_kind":"plain"},"max_items":1},"memory":{"nesting_mode":"list","block":{"attributes":{"guest":{"type":"string","description":"Guest is the amount of memory allocated to the vmi. This value must be less than or equal to the limit if specified.","description_kind":"plain","optional":true},"hugepages":{"type":"string","description":"Hugepages attribute specifies the hugepage size, for x86_64 architecture valid values are 1Gi and 2Mi.","description_kind":"plain","optional":true}},"description":"Memory allows specifying the vmi memory features.","description_kind":"plain"},"max_items":1},"network":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"Network name.","description_kind":"plain","required":true}},"block_types":{"network_source":{"nesting_mode":"list","block":{"block_types":{"multus":{"nesting_mode":"list","block":{"attributes":{"default":{"type":"bool","description":"Select the default network and add it to the multus-cni.io/default-network annotation.","description_kind":"plain","optional":true},"network_name":{"type":"string","description":"References to a NetworkAttachmentDefinition CRD object. Format: \u003cnetworkName\u003e, \u003cnamespace\u003e/\u003cnetworkName\u003e. If namespace is not specified, VMI namespace is assumed.","description_kind":"plain","required":true}},"description":"Multus network.","description_kind":"plain"},"max_items":1},"pod":{"nesting_mode":"list","block":{"attributes":{"vm_network_cidr":{"type":"string","description":"CIDR for vm network.","description_kind":"plain","optional":true}},"description":"Pod network.","description_kind":"plain"},"max_items":1}},"description":"NetworkSource represents the network type and the source interface that should be connected to the virtual machine.","description_kind":"plain"},"max_items":1}},"description":"List of networks that can be attached to a vm's virtual interface.","description_kind":"plain"}},"pod_dns_config":{"nesting_mode":"list","block":{"attributes":{"nameservers":{"type":["list","string"],"description":"A list of DNS name server IP addresses. This will be appended to the base nameservers generated from DNSPolicy. Duplicated nameservers will be removed.","description_kind":"plain","optional":true},"searches":{"type":["list","string"],"description":"A list of DNS search domains for host-name lookup. This will be appended to the base search paths generated from DNSPolicy. Duplicated search paths will be removed.","description_kind":"plain","optional":true}},"block_types":{"option":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"Name of the option.","description_kind":"plain","required":true},"value":{"type":"string","description":"Value of the option. Optional: Defaults to empty.","description_kind":"plain","optional":true}},"description":"A list of DNS resolver options. This will be merged with the base options generated from DNSPolicy. Duplicated entries will be removed. Resolution options given in Options will override those that appear in the base DNSPolicy.","description_kind":"plain"}}},"description":"Specifies the DNS parameters of a pod. Parameters specified here will be merged to the generated DNS configuration based on DNSPolicy. Optional: Defaults to empty","description_kind":"plain"},"max_items":1},"readiness_probe":{"nesting_mode":"list","block":{"description":"Specification of the desired behavior of the VirtualMachineInstance on the host.","description_kind":"plain"},"max_items":1},"resources":{"nesting_mode":"list","block":{"attributes":{"limits":{"type":["map","string"],"description":"Requests is the maximum amount of compute resources allowed. Valid resource keys are \"memory\" and \"cpu\"","description_kind":"plain","optional":true},"over_commit_guest_overhead":{"type":"bool","description":"Don't ask the scheduler to take the guest-management overhead into account. Instead put the overhead only into the container's memory limit. This can lead to crashes if all memory is in use on a node. Defaults to false.","description_kind":"plain","optional":true},"requests":{"type":["map","string"],"description":"Requests is a description of the initial vmi resources.","description_kind":"plain","optional":true}},"description":"Resources describes the Compute Resources required by this vmi.","description_kind":"plain"},"min_items":1,"max_items":1},"status":{"nesting_mode":"list","block":{"attributes":{"created":{"type":"bool","description":"Created indicates if the virtual machine is created in the cluster.","description_kind":"plain","optional":true},"ready":{"type":"bool","description":"Ready indicates if the virtual machine is running and ready.","description_kind":"plain","optional":true}},"block_types":{"conditions":{"nesting_mode":"list","block":{"attributes":{"message":{"type":"string","description":"Condition message.","description_kind":"plain","optional":true},"reason":{"type":"string","description":"Condition reason.","description_kind":"plain","optional":true},"status":{"type":"string","description":"ConditionStatus represents the status of this VM condition, if the VM currently in the condition.","description_kind":"plain","optional":true},"type":{"type":"string","description":"VirtualMachineConditionType represent the type of the VM as concluded from its VMi status.","description_kind":"plain","optional":true}},"description":"Hold the state information of the VirtualMachine and its VirtualMachineInstance.","description_kind":"plain"},"min_items":1},"state_change_requests":{"nesting_mode":"list","block":{"attributes":{"action":{"type":"string","description":"Indicates the type of action that is requested. e.g. Start or Stop.","description_kind":"plain","optional":true},"data":{"type":["map","string"],"description":"Provides additional data in order to perform the Action.","description_kind":"plain","optional":true},"uid":{"type":"string","description":"Indicates the UUID of an existing Virtual Machine Instance that this change request applies to -- if applicable.","description_kind":"plain","optional":true}},"description":"StateChangeRequests indicates a list of actions that should be taken on a VMI.","description_kind":"plain"},"min_items":1}},"description":"VirtualMachineStatus represents the status returned by the controller to describe how the VirtualMachine is doing.","description_kind":"plain"},"max_items":1},"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"}},"tolerations":{"nesting_mode":"list","block":{"attributes":{"effect":{"type":"string","description":"Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.","description_kind":"plain","optional":true},"key":{"type":"string","description":"Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.","description_kind":"plain","optional":true},"operator":{"type":"string","description":"Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.","description_kind":"plain","optional":true},"toleration_seconds":{"type":"string","description":"TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.","description_kind":"plain","optional":true},"value":{"type":"string","description":"Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.","description_kind":"plain","optional":true}},"description":"If specified, the pod's toleration. Optional: Defaults to empty","description_kind":"plain"}},"volume":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"Volume's name.","description_kind":"plain","required":true}},"block_types":{"volume_source":{"nesting_mode":"list","block":{"block_types":{"cloud_init_config_drive":{"nesting_mode":"list","block":{"attributes":{"network_data":{"type":"string","description":"NetworkData contains config drive inline cloud-init networkdata.","description_kind":"plain","optional":true},"network_data_base64":{"type":"string","description":"NetworkDataBase64 contains config drive cloud-init networkdata as a base64 encoded string.","description_kind":"plain","optional":true},"user_data":{"type":"string","description":"UserData contains config drive inline cloud-init userdata.","description_kind":"plain","optional":true},"user_data_base64":{"type":"string","description":"UserDataBase64 contains config drive cloud-init userdata as a base64 encoded string.","description_kind":"plain","optional":true}},"block_types":{"network_data_secret_ref":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"Name of the referent.","description_kind":"plain","required":true}},"description":"NetworkDataSecretRef references a k8s secret that contains config drive networkdata.","description_kind":"plain"},"max_items":1},"user_data_secret_ref":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"Name of the referent.","description_kind":"plain","required":true}},"description":"UserDataSecretRef references a k8s secret that contains config drive userdata.","description_kind":"plain"},"max_items":1}},"description":"CloudInitConfigDrive represents a cloud-init Config Drive user-data source.","description_kind":"plain"},"max_items":1},"cloud_init_no_cloud":{"nesting_mode":"set","block":{"attributes":{"user_data":{"type":"string","description":"The user data to use for the cloud-init no cloud disk. This can be a local file path, a remote URL, or a registry URL.","description_kind":"plain","required":true}},"description":"Used to specify a cloud-init `noCloud` image. The image is expected to contain a disk image in a supported format. The disk image is extracted from the cloud-init `noCloud `image and used as the disk for the VM","description_kind":"plain"}},"config_map":{"nesting_mode":"list","block":{"attributes":{"default_mode":{"type":"number","description":"Optional: mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.","description_kind":"plain","optional":true}},"block_types":{"items":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description_kind":"plain","optional":true}},"description":"If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.","description_kind":"plain"}}},"description":"ConfigMapVolumeSource adapts a ConfigMap into a volume.","description_kind":"plain"},"max_items":1},"container_disk":{"nesting_mode":"set","block":{"attributes":{"image_url":{"type":"string","description":"The URL of the container image to use as the disk. This can be a local file path, a remote URL, or a registry URL.","description_kind":"plain","required":true}},"description":"A container disk is a disk that is backed by a container image. The container image is expected to contain a disk image in a supported format. The disk image is extracted from the container image and used as the disk for the VM.","description_kind":"plain"}},"data_volume":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"Name represents the name of the DataVolume in the same namespace.","description_kind":"plain","required":true}},"description":"DataVolume represents the dynamic creation a PVC for this volume as well as the process of populating that PVC with a disk image.","description_kind":"plain"},"max_items":1},"empty_disk":{"nesting_mode":"list","block":{"attributes":{"capacity":{"type":"string","description":"Capacity of the sparse disk.","description_kind":"plain","required":true}},"description":"EmptyDisk represents a temporary disk which shares the VM's lifecycle.","description_kind":"plain"},"max_items":1},"ephemeral":{"nesting_mode":"list","block":{"block_types":{"persistent_volume_claim":{"nesting_mode":"list","block":{"attributes":{"claim_name":{"type":"string","description":"ClaimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims","description_kind":"plain","required":true},"read_only":{"type":"bool","description":"Will force the ReadOnly setting in VolumeMounts. Default false.","description_kind":"plain","optional":true}},"description":"PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace.","description_kind":"plain"},"max_items":1}},"description":"EphemeralVolumeSource represents a volume that is populated with the contents of a pod. Ephemeral volumes do not support ownership management or SELinux relabeling.","description_kind":"plain"},"max_items":1},"host_disk":{"nesting_mode":"list","block":{"attributes":{"path":{"type":"string","description":"Path of the disk.","description_kind":"plain","required":true},"type":{"type":"string","description":"Type of the disk, supported values are disk, directory, socket, char, block.","description_kind":"plain","required":true}},"description":"HostDisk represents a disk created on the host.","description_kind":"plain"},"max_items":1},"persistent_volume_claim":{"nesting_mode":"list","block":{"attributes":{"claim_name":{"type":"string","description":"ClaimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims","description_kind":"plain","required":true},"read_only":{"type":"bool","description":"Will force the ReadOnly setting in VolumeMounts. Default false.","description_kind":"plain","optional":true}},"description":"PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace.","description_kind":"plain"},"max_items":1},"service_account":{"nesting_mode":"list","block":{"attributes":{"service_account_name":{"type":"string","description":"Name of the service account in the pod's namespace to use.","description_kind":"plain","required":true}},"description":"ServiceAccountVolumeSource represents a reference to a service account.","description_kind":"plain"},"max_items":1}},"description":"VolumeSource represents the location and type of the mounted volume. Defaults to Disk, if no type is specified.","description_kind":"plain"},"min_items":1,"max_items":1}},"description":"Specification of the desired behavior of the VirtualMachineInstance on the host.","description_kind":"plain"}}},"description_kind":"plain"}},"spectrocloud_workspace":{"version":2,"block":{"attributes":{"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},"tags":{"type":["set","string"],"description_kind":"plain","optional":true}},"block_types":{"backup_policy":{"nesting_mode":"list","block":{"attributes":{"backup_location_id":{"type":"string","description":"The ID of the backup location to use for the backup.","description_kind":"plain","required":true},"cluster_uids":{"type":["set","string"],"description":"The list of cluster UIDs to include in the backup. If `include_all_clusters` is set to `true`, then all clusters will be included.","description_kind":"plain","optional":true},"expiry_in_hour":{"type":"number","description":"The number of hours after which the backup will be deleted. For example, if the expiry is set to 24, the backup will be deleted after 24 hours.","description_kind":"plain","required":true},"include_all_clusters":{"type":"bool","description":"Whether to include all clusters in the backup. If set to false, only the clusters specified in `cluster_uids` will be included.","description_kind":"plain","optional":true},"include_cluster_resources":{"type":"bool","description":"Whether to include the cluster resources in the backup. If set to false, only the cluster configuration and disks will be backed up.","description_kind":"plain","optional":true},"include_disks":{"type":"bool","description":"Whether to include the disks in the backup. If set to false, only the cluster configuration will be backed up.","description_kind":"plain","optional":true},"namespaces":{"type":["set","string"],"description":"The list of Kubernetes namespaces to include in the backup. If not specified, all namespaces will be included.","description_kind":"plain","optional":true},"prefix":{"type":"string","description":"Prefix for the backup name. The backup name will be of the format \u003cprefix\u003e-\u003ccluster-name\u003e-\u003ctimestamp\u003e.","description_kind":"plain","required":true},"schedule":{"type":"string","description":"The schedule for the backup. The schedule is specified in cron format. For example, to run the backup every day at 1:00 AM, the schedule should be set to `0 1 * * *`.","description_kind":"plain","required":true}},"description":"The backup policy for the cluster. If not specified, no backups will be taken.","description_kind":"plain"},"max_items":1},"cluster_rbac_binding":{"nesting_mode":"list","block":{"attributes":{"namespace":{"type":"string","description":"The Kubernetes namespace of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"role":{"type":["map","string"],"description":"The role of the RBAC binding. Required if 'type' is set to 'RoleBinding'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`.","description_kind":"plain","required":true}},"block_types":{"subjects":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the subject. Required if 'type' is set to 'User' or 'Group'.","description_kind":"plain","required":true},"namespace":{"type":"string","description":"The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description":"The RBAC binding for the cluster.","description_kind":"plain"}},"clusters":{"nesting_mode":"set","block":{"attributes":{"uid":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"},"min_items":1},"namespaces":{"nesting_mode":"list","block":{"attributes":{"images_blacklist":{"type":["list","string"],"description":"List of images to disallow for the namespace. For example, `['nginx:latest', 'redis:latest']`","description_kind":"plain","optional":true},"name":{"type":"string","description":"Name of the namespace. This is the name of the Kubernetes namespace in the cluster.","description_kind":"plain","required":true},"resource_allocation":{"type":["map","string"],"description":"Resource allocation for the namespace. This is a map containing the resource type and the resource value. For example, `{cpu_cores: '2', memory_MiB: '2048'}`","description_kind":"plain","required":true}},"description":"The namespaces for the cluster.","description_kind":"plain"}}},"description_kind":"plain"}}},"data_source_schemas":{"spectrocloud_appliance":{"version":2,"block":{"attributes":{"architecture":{"type":"string","description":"The architecture of the appliance. Supported values are: 'amd64', and 'arm64'. ","description_kind":"plain","computed":true},"health":{"type":"string","description":"The health of the appliance. Supported values are: 'healthy', and 'unhealthy'. ","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"The name of the appliance. ","description_kind":"plain","required":true},"status":{"type":"string","description":"The status of the appliance. Supported values are: 'ready', 'in-use', and 'unpaired'. ","description_kind":"plain","computed":true},"tags":{"type":["map","string"],"description":"The tags of the appliance.","description_kind":"plain","computed":true}},"description":"Provides details about a single appliance used for Edge Native cluster provisioning.","description_kind":"plain"}},"spectrocloud_appliances":{"version":0,"block":{"attributes":{"architecture":{"type":"string","description":"The architecture of the appliance. Supported values are: 'amd64', and 'arm64'. If not specified, all appliances are returned.","description_kind":"plain","optional":true},"context":{"type":"string","description":"The context of the appliances. Allowed values are `project` or `tenant`. Defaults to `project`.If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"health":{"type":"string","description":"The health of the appliance. Supported values are: 'healthy', and 'unhealthy'. If not specified, all appliances are returned.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ids":{"type":["list","string"],"description":"The unique ids of the appliances. This is a computed field and is not required to be set.","description_kind":"plain","computed":true},"status":{"type":"string","description":"The status of the appliance. Supported values are: 'ready', 'in-use', and 'unpaired'. If not specified, all appliances are returned.","description_kind":"plain","optional":true},"tags":{"type":["map","string"],"description":"A list of tags to filter the appliances.","description_kind":"plain","optional":true}},"description":"Provides details about a set of appliances used for Edge Native cluster provisioning. Various attributes could be used to search for appliances like `tags`, `status`, `health`, and `architecture`.","description_kind":"plain"}},"spectrocloud_application_profile":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the application profile","description_kind":"plain","required":true},"version":{"type":"string","description":"The version of the app profile. Default value is '1.0.0'.","description_kind":"plain","optional":true,"computed":true}},"description":"Use this data source to get the details of an existing application profile.","description_kind":"plain"}},"spectrocloud_backup_storage_location":{"version":2,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"spectrocloud_cloudaccount_aws":{"version":0,"block":{"attributes":{"depends":{"type":"string","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description":"ID of the AWS cloud account registered in Palette.","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the AWS cloud account registered in Palette.","description_kind":"plain","optional":true,"computed":true}},"description":"A data source for retrieving information about an AWS cloud account registered in Palette.","description_kind":"plain"}},"spectrocloud_cloudaccount_azure":{"version":0,"block":{"attributes":{"azure_client_id":{"type":"string","description":"The unique client ID from Azure Management Portal.","description_kind":"plain","computed":true},"azure_tenant_id":{"type":"string","description":"The tenant ID of the Azure cloud account registered in Palette.","description_kind":"plain","computed":true},"disable_properties_request":{"type":"bool","description":"The status of the disable properties option.","description_kind":"plain","computed":true},"id":{"type":"string","description":"ID of the Azure cloud account registered in Palette.","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the Azure cloud account registered in Palette.","description_kind":"plain","optional":true,"computed":true},"tenant_name":{"type":"string","description":"The name of the Azure tenant.","description_kind":"plain","computed":true}},"description":"A data source for retrieving information about an Azure cloud account registered in Palette.","description_kind":"plain"}},"spectrocloud_cloudaccount_custom":{"version":0,"block":{"attributes":{"cloud":{"type":"string","description":"The cloud provider name.","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"spectrocloud_cloudaccount_gcp":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"ID of the GCP cloud account registered in Palette.","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the GCP cloud account registered in Palette.","description_kind":"plain","optional":true,"computed":true}},"description":"A data source for retrieving information about a GCP cloud account registered in Palette.","description_kind":"plain"}},"spectrocloud_cloudaccount_maas":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"maas_api_endpoint":{"type":"string","description_kind":"plain","computed":true},"maas_api_key":{"type":"string","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"spectrocloud_cloudaccount_openstack":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"spectrocloud_cloudaccount_tencent":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"tencent_secret_id":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"spectrocloud_cloudaccount_vsphere":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"spectrocloud_cluster":{"version":0,"block":{"attributes":{"admin_kube_config":{"type":"string","description_kind":"plain","computed":true},"context":{"type":"string","description":"The context of the cluster. Allowed values are `project` or `tenant`. Defaults to `project`.If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kube_config":{"type":"string","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true},"virtual":{"type":"bool","description":"If set to true, the cluster will treated as a virtual cluster. Defaults to `false`.","description_kind":"plain","optional":true}},"description_kind":"plain"}},"spectrocloud_cluster_group":{"version":2,"block":{"attributes":{"context":{"type":"string","description":"The context of where the cluster group is located. Allowed values are `system` or `tenant`. Defaults to `tenant`.If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"The name of the cluster group.","description_kind":"plain","required":true}},"description_kind":"plain"}},"spectrocloud_cluster_profile":{"version":0,"block":{"attributes":{"context":{"type":"string","description":"Cluster profile context. Allowed values are `project` or `tenant`. Defaults to `project`.If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"pack":{"type":["list",["object",{"manifest":["list",["object",{"content":"string","name":"string","uid":"string"}]],"name":"string","registry_uid":"string","tag":"string","type":"string","uid":"string","values":"string"}]],"description_kind":"plain","computed":true},"version":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"spectrocloud_filter":{"version":2,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"metadata":{"type":["list",["object",{"annotations":["map","string"],"labels":["map","string"],"name":"string"}]],"description_kind":"plain","computed":true},"name":{"type":"string","description":"The name of the filter.","description_kind":"plain","required":true},"spec":{"type":["list",["object",{"filter_group":["list",["object",{"conjunction":"string","filters":["list",["object",{"key":"string","negation":"bool","operator":"string","values":["list","string"]}]]}]]}]],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"spectrocloud_ippool":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"The name of the IP pool.","description_kind":"plain","required":true},"private_cloud_gateway_id":{"type":"string","description":"The ID of the private cloud gateway.","description_kind":"plain","required":true}},"description_kind":"plain"}},"spectrocloud_pack":{"version":0,"block":{"attributes":{"cloud":{"type":["set","string"],"description":"Filter results by cloud type. If not provided, all cloud types are returned.","description_kind":"plain","optional":true,"computed":true},"filters":{"type":"string","description":"Filters to apply when searching for a pack. This is a string of the form 'key1=value1' with 'AND', 'OR` operators. Refer to the Palette API [pack search API endpoint documentation](https://docs.spectrocloud.com/api/v1/v-1-packs-search/) for filter examples..","description_kind":"plain","optional":true},"id":{"type":"string","description":"The UID of the pack returned.","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"The name of the pack to search for.","description_kind":"plain","optional":true,"computed":true},"registry_uid":{"type":"string","description":"The UID of the registry to search for the pack in. This is a required parameter starting from version 0.21.0.","description_kind":"plain","optional":true,"computed":true},"type":{"type":"string","description":"The type of pack to search for. Supported values are `helm`, `manifest`, `container`, `operator-instance`.","description_kind":"plain","optional":true,"computed":true},"values":{"type":"string","description":"The YAML values of the pack returned as string.","description_kind":"plain","computed":true},"version":{"type":"string","description":"The version of the pack to search for.","description_kind":"plain","optional":true,"computed":true}},"description":"This data resource provides the ability to search for a pack in the Palette registries. It supports more advanced search criteria than the `pack_simple` data source.","description_kind":"plain"}},"spectrocloud_pack_simple":{"version":0,"block":{"attributes":{"context":{"type":"string","description":"Indicates in which context registry should be searched for the pack values. Allowed values are `system`, `project` or `tenant`. Defaults to `project`.If the `project` context is specified, the project name will sourced from the provider configuration parameter [`project_name`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs#schema).","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"The name of the pack.","description_kind":"plain","required":true},"registry_uid":{"type":"string","description":"The unique identifier of the registry the pack belongs to. This is a required parameter starting from version 0.21.0","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of Pack. Allowed values are `helm`, `manifest`, `container` or `operator-instance`.","description_kind":"plain","required":true},"values":{"type":"string","description":"This is a stringified YAML object containing the pack configuration details. ","description_kind":"plain","computed":true},"version":{"type":"string","description":"The version of the pack.","description_kind":"plain","optional":true}},"description":"This data resource provides a simpler user experience for searching for a pack in Palette registries.","description_kind":"plain"}},"spectrocloud_private_cloud_gateway":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The ID of Private Cloud Gateway.","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"The Name of Private Cloud Gateway.","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"spectrocloud_project":{"version":2,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"spectrocloud_registry":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"spectrocloud_registry_helm":{"version":2,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"spectrocloud_registry_oci":{"version":2,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"spectrocloud_registry_pack":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"spectrocloud_role":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"spectrocloud_user":{"version":0,"block":{"attributes":{"email":{"type":"string","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"spectrocloud_workspace":{"version":2,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}}}}}} diff --git a/internal/controller/cluster/libvirt/zz_controller.go b/internal/controller/cluster/libvirt/zz_controller.go deleted file mode 100755 index 84a7f0f..0000000 --- a/internal/controller/cluster/libvirt/zz_controller.go +++ /dev/null @@ -1,84 +0,0 @@ -/* -Copyright 2022 Upbound Inc. -*/ - -// Code generated by upjet. DO NOT EDIT. - -package libvirt - -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" - "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" - "github.com/pkg/errors" - ctrl "sigs.k8s.io/controller-runtime" - - v1alpha1 "github.com/crossplane-contrib/provider-palette/apis/cluster/v1alpha1" -) - -// Setup adds a controller that reconciles Libvirt managed resources. -func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { - name := managed.ControllerName(v1alpha1.Libvirt_GroupVersionKind.String()) - var initializers managed.InitializerChain - initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) - 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.Libvirt_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Libvirt_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) - opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["spectrocloud_cluster_libvirt"], 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.MetricOptions != nil { - opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) - } - - // register webhooks for the kind v1alpha1.Libvirt - // if they're enabled. - if o.StartWebhooks { - if err := ctrl.NewWebhookManagedBy(mgr). - For(&v1alpha1.Libvirt{}). - Complete(); err != nil { - return errors.Wrap(err, "cannot register webhook for the kind v1alpha1.Libvirt") - } - } - - if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { - stateMetricsRecorder := statemetrics.NewMRStateRecorder( - mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1alpha1.LibvirtList{}, o.MetricOptions.PollStateMetricInterval, - ) - if err := mgr.Add(stateMetricsRecorder); err != nil { - return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1alpha1.LibvirtList") - } - } - - r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.Libvirt_GroupVersionKind), opts...) - - return ctrl.NewControllerManagedBy(mgr). - Named(name). - WithOptions(o.ForControllerRuntime()). - WithEventFilter(xpresource.DesiredStateChanged()). - Watches(&v1alpha1.Libvirt{}, eventHandler). - Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) -} diff --git a/internal/controller/zz_setup.go b/internal/controller/zz_setup.go index b29cf4c..a74b87d 100755 --- a/internal/controller/zz_setup.go +++ b/internal/controller/zz_setup.go @@ -30,7 +30,6 @@ import ( gcpcluster "github.com/crossplane-contrib/provider-palette/internal/controller/cluster/gcp" gke "github.com/crossplane-contrib/provider-palette/internal/controller/cluster/gke" group "github.com/crossplane-contrib/provider-palette/internal/controller/cluster/group" - libvirt "github.com/crossplane-contrib/provider-palette/internal/controller/cluster/libvirt" maascluster "github.com/crossplane-contrib/provider-palette/internal/controller/cluster/maas" openstackcluster "github.com/crossplane-contrib/provider-palette/internal/controller/cluster/openstack" profilecluster "github.com/crossplane-contrib/provider-palette/internal/controller/cluster/profile" @@ -79,7 +78,6 @@ func Setup(mgr ctrl.Manager, o controller.Options) error { gcpcluster.Setup, gke.Setup, group.Setup, - libvirt.Setup, maascluster.Setup, openstackcluster.Setup, profilecluster.Setup, diff --git a/package/crds/addon.palette.crossplane.io_deployments.yaml b/package/crds/addon.palette.crossplane.io_deployments.yaml index 01e6bdb..d9042be 100644 --- a/package/crds/addon.palette.crossplane.io_deployments.yaml +++ b/package/crds/addon.palette.crossplane.io_deployments.yaml @@ -119,8 +119,9 @@ spec: type: string type: description: The type of the pack. Allowed values - are `spectro`, `manifest` or `helm`. The default - value is `spectro`. + are `spectro`, `manifest`, `helm`, or `oci`. The + default value is spectro. If using an OCI registry + for pack, set the type to `oci`. type: string uid: description: The unique identifier of the pack. The @@ -208,8 +209,9 @@ spec: type: string type: description: The type of the pack. Allowed values - are `spectro`, `manifest` or `helm`. The default - value is `spectro`. + are `spectro`, `manifest`, `helm`, or `oci`. The + default value is spectro. If using an OCI registry + for pack, set the type to `oci`. type: string uid: description: The unique identifier of the pack. The @@ -463,8 +465,9 @@ spec: type: string type: description: The type of the pack. Allowed values - are `spectro`, `manifest` or `helm`. The default - value is `spectro`. + are `spectro`, `manifest`, `helm`, or `oci`. The + default value is spectro. If using an OCI registry + for pack, set the type to `oci`. type: string uid: description: The unique identifier of the pack. The diff --git a/package/crds/cluster.palette.crossplane.io_aks.yaml b/package/crds/cluster.palette.crossplane.io_aks.yaml index c5dc1b0..e04a516 100644 --- a/package/crds/cluster.palette.crossplane.io_aks.yaml +++ b/package/crds/cluster.palette.crossplane.io_aks.yaml @@ -246,8 +246,8 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. type: string uid: description: |- @@ -298,14 +298,14 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. type: string type: object type: array type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. type: string type: object @@ -718,8 +718,8 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. type: string uid: description: |- @@ -770,14 +770,14 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. type: string type: object type: array type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. type: string type: object @@ -1380,8 +1380,8 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. type: string uid: description: |- @@ -1432,14 +1432,14 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. type: string type: object type: array type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. type: string type: object diff --git a/package/crds/cluster.palette.crossplane.io_aws.yaml b/package/crds/cluster.palette.crossplane.io_aws.yaml index d2c9e04..8d6cd37 100644 --- a/package/crds/cluster.palette.crossplane.io_aws.yaml +++ b/package/crds/cluster.palette.crossplane.io_aws.yaml @@ -220,8 +220,8 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. type: string uid: description: |- @@ -272,14 +272,14 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. type: string type: object type: array type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. type: string type: object @@ -715,8 +715,8 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. type: string uid: description: |- @@ -767,14 +767,14 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. type: string type: object type: array type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. type: string type: object @@ -1400,8 +1400,8 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. type: string uid: description: |- @@ -1452,14 +1452,14 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. type: string type: object type: array type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. type: string type: object diff --git a/package/crds/cluster.palette.crossplane.io_azures.yaml b/package/crds/cluster.palette.crossplane.io_azures.yaml index 8677ef2..f23b408 100644 --- a/package/crds/cluster.palette.crossplane.io_azures.yaml +++ b/package/crds/cluster.palette.crossplane.io_azures.yaml @@ -292,7 +292,7 @@ spec: type: description: |- (String) Type of the disk. Valid values are Standard_LRS, StandardSSD_LRS, Premium_LRS. - The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. type: string uid: description: |- @@ -845,7 +845,7 @@ spec: type: description: |- (String) Type of the disk. Valid values are Standard_LRS, StandardSSD_LRS, Premium_LRS. - The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. type: string uid: description: |- @@ -1588,7 +1588,7 @@ spec: type: description: |- (String) Type of the disk. Valid values are Standard_LRS, StandardSSD_LRS, Premium_LRS. - The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. type: string uid: description: |- diff --git a/package/crds/cluster.palette.crossplane.io_customclouds.yaml b/package/crds/cluster.palette.crossplane.io_customclouds.yaml index 1d13c33..5dafeb3 100644 --- a/package/crds/cluster.palette.crossplane.io_customclouds.yaml +++ b/package/crds/cluster.palette.crossplane.io_customclouds.yaml @@ -208,8 +208,8 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. type: string uid: description: |- @@ -260,14 +260,14 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. type: string type: object type: array type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. type: string type: object @@ -584,8 +584,8 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. type: string uid: description: |- @@ -636,14 +636,14 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. type: string type: object type: array type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. type: string type: object @@ -1152,8 +1152,8 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. type: string uid: description: |- @@ -1204,14 +1204,14 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. type: string type: object type: array type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. type: string type: object diff --git a/package/crds/cluster.palette.crossplane.io_edgenatives.yaml b/package/crds/cluster.palette.crossplane.io_edgenatives.yaml index 909aafd..efe8e2e 100644 --- a/package/crds/cluster.palette.crossplane.io_edgenatives.yaml +++ b/package/crds/cluster.palette.crossplane.io_edgenatives.yaml @@ -226,8 +226,8 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. type: string uid: description: |- @@ -278,14 +278,14 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. type: string type: object type: array type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. type: string type: object @@ -729,8 +729,8 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. type: string uid: description: |- @@ -781,14 +781,14 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. type: string type: object type: array type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. type: string type: object @@ -1418,8 +1418,8 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. type: string uid: description: |- @@ -1470,14 +1470,14 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. type: string type: object type: array type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. type: string type: object diff --git a/package/crds/cluster.palette.crossplane.io_edgevspheres.yaml b/package/crds/cluster.palette.crossplane.io_edgevspheres.yaml index 161347b..b6ff2b0 100644 --- a/package/crds/cluster.palette.crossplane.io_edgevspheres.yaml +++ b/package/crds/cluster.palette.crossplane.io_edgevspheres.yaml @@ -207,8 +207,9 @@ spec: type: string type: description: The type of the pack. Allowed values - are `spectro`, `manifest` or `helm`. The default - value is `spectro`. + are `spectro`, `manifest`, `helm`, or `oci`. The + default value is spectro. If using an OCI registry + for pack, set the type to `oci`. type: string uid: description: The unique identifier of the pack. The @@ -638,8 +639,9 @@ spec: type: string type: description: The type of the pack. Allowed values - are `spectro`, `manifest` or `helm`. The default - value is `spectro`. + are `spectro`, `manifest`, `helm`, or `oci`. The + default value is spectro. If using an OCI registry + for pack, set the type to `oci`. type: string uid: description: The unique identifier of the pack. The @@ -1251,8 +1253,9 @@ spec: type: string type: description: The type of the pack. Allowed values - are `spectro`, `manifest` or `helm`. The default - value is `spectro`. + are `spectro`, `manifest`, `helm`, or `oci`. The + default value is spectro. If using an OCI registry + for pack, set the type to `oci`. type: string uid: description: The unique identifier of the pack. The diff --git a/package/crds/cluster.palette.crossplane.io_eks.yaml b/package/crds/cluster.palette.crossplane.io_eks.yaml index fbac3fc..3c4a7cf 100644 --- a/package/crds/cluster.palette.crossplane.io_eks.yaml +++ b/package/crds/cluster.palette.crossplane.io_eks.yaml @@ -255,8 +255,8 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. type: string uid: description: |- @@ -307,14 +307,14 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. type: string type: object type: array type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. type: string type: object @@ -825,8 +825,8 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. type: string uid: description: |- @@ -877,14 +877,14 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. type: string type: object type: array type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. type: string type: object @@ -1585,8 +1585,8 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. type: string uid: description: |- @@ -1637,14 +1637,14 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. type: string type: object type: array type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. type: string type: object diff --git a/package/crds/cluster.palette.crossplane.io_gcps.yaml b/package/crds/cluster.palette.crossplane.io_gcps.yaml index c31e425..7f1e165 100644 --- a/package/crds/cluster.palette.crossplane.io_gcps.yaml +++ b/package/crds/cluster.palette.crossplane.io_gcps.yaml @@ -209,8 +209,8 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. type: string uid: description: |- @@ -261,14 +261,14 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. type: string type: object type: array type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. type: string type: object @@ -649,8 +649,8 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. type: string uid: description: |- @@ -701,14 +701,14 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. type: string type: object type: array type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. type: string type: object @@ -1279,8 +1279,8 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. type: string uid: description: |- @@ -1331,14 +1331,14 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. type: string type: object type: array type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. type: string type: object diff --git a/package/crds/cluster.palette.crossplane.io_gkes.yaml b/package/crds/cluster.palette.crossplane.io_gkes.yaml index 994b231..c24cfae 100644 --- a/package/crds/cluster.palette.crossplane.io_gkes.yaml +++ b/package/crds/cluster.palette.crossplane.io_gkes.yaml @@ -209,8 +209,8 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. type: string uid: description: |- @@ -261,14 +261,14 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. type: string type: object type: array type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. type: string type: object @@ -633,8 +633,8 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. type: string uid: description: |- @@ -685,14 +685,14 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. type: string type: object type: array type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. type: string type: object @@ -1247,8 +1247,8 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. type: string uid: description: |- @@ -1299,14 +1299,14 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. type: string type: object type: array type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. type: string type: object diff --git a/package/crds/cluster.palette.crossplane.io_groups.yaml b/package/crds/cluster.palette.crossplane.io_groups.yaml index 6aaad4e..f27a494 100644 --- a/package/crds/cluster.palette.crossplane.io_groups.yaml +++ b/package/crds/cluster.palette.crossplane.io_groups.yaml @@ -120,8 +120,8 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. type: string uid: description: |- @@ -275,8 +275,8 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. type: string uid: description: |- @@ -602,8 +602,8 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. type: string uid: description: |- diff --git a/package/crds/cluster.palette.crossplane.io_libvirts.yaml b/package/crds/cluster.palette.crossplane.io_libvirts.yaml deleted file mode 100644 index f59adf9..0000000 --- a/package/crds/cluster.palette.crossplane.io_libvirts.yaml +++ /dev/null @@ -1,1773 +0,0 @@ ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.14.0 - name: libvirts.cluster.palette.crossplane.io -spec: - group: cluster.palette.crossplane.io - names: - categories: - - crossplane - - managed - - palette - kind: Libvirt - listKind: LibvirtList - plural: libvirts - singular: libvirt - scope: Cluster - versions: - - additionalPrinterColumns: - - 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 - - jsonPath: .metadata.creationTimestamp - name: AGE - type: date - name: v1alpha1 - schema: - openAPIV3Schema: - description: Libvirt is the Schema for the Libvirts 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: LibvirtSpec defines the desired state of Libvirt - 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: - applySetting: - description: The setting to apply the cluster profile. `DownloadAndInstall` - will download and install packs in one action. `DownloadAndInstallLater` - will only download artifact and postpone install for later. - Default value is `DownloadAndInstall`. - type: string - backupPolicy: - description: The backup policy for the cluster. If not specified, - no backups will be taken. - items: - properties: - backupLocationId: - description: The ID of the backup location to use for the - backup. - type: string - clusterUids: - description: The list of cluster UIDs to include in the - backup. If `include_all_clusters` is set to `true`, then - all clusters will be included. - items: - type: string - type: array - x-kubernetes-list-type: set - expiryInHour: - description: The number of hours after which the backup - will be deleted. For example, if the expiry is set to - 24, the backup will be deleted after 24 hours. - type: number - includeAllClusters: - description: Whether to include all clusters in the backup. - If set to false, only the clusters specified in `cluster_uids` - will be included. - type: boolean - includeClusterResources: - description: Whether to include the cluster resources in - the backup. If set to false, only the cluster configuration - and disks will be backed up. - type: boolean - includeDisks: - description: Whether to include the disks in the backup. - If set to false, only the cluster configuration will be - backed up. - type: boolean - namespaces: - description: The list of Kubernetes namespaces to include - in the backup. If not specified, all namespaces will be - included. - items: - type: string - type: array - x-kubernetes-list-type: set - prefix: - description: Prefix for the backup name. The backup name - will be of the format --. - type: string - schedule: - description: The schedule for the backup. The schedule is - specified in cron format. For example, to run the backup - every day at 1:00 AM, the schedule should be set to `0 - 1 * * *`. - type: string - type: object - type: array - cloudAccountId: - type: string - cloudConfig: - items: - properties: - networkSearchDomain: - description: The search domain to use for the cluster in - case of DHCP. - type: string - networkType: - description: The type of network to use for the cluster. - This can be `VIP` or `DDNS`. - type: string - ntpServers: - items: - type: string - type: array - x-kubernetes-list-type: set - sshKeys: - description: List of public SSH (Secure Shell) to establish, - administer, and communicate with remote clusters. - items: - type: string - type: array - x-kubernetes-list-type: set - vip: - type: string - type: object - type: array - clusterMetaAttribute: - description: '`cluster_meta_attribute` can be used to set additional - cluster metadata information, eg `{''nic_name'': ''test'', ''env'': - ''stage''}`' - type: string - clusterProfile: - items: - properties: - id: - description: The ID of the cluster profile. - type: string - pack: - description: For packs of type `spectro`, `helm`, and `manifest`, - at least one pack must be specified. - items: - properties: - manifest: - items: - properties: - content: - description: The content of the manifest. The - content is the YAML content of the manifest. - type: string - name: - description: The name of the manifest. The name - must be unique within the pack. - type: string - type: object - type: array - name: - description: The name of the pack. The name must be - unique within the cluster profile. - type: string - registryUid: - description: The registry UID of the pack. The registry - UID is the unique identifier of the registry. This - attribute is required if there is more than one - registry that contains a pack with the same name. - type: string - tag: - description: The tag of the pack. The tag is the version - of the pack. This attribute is required if the pack - type is `spectro` or `helm`. - type: string - type: - description: The type of the pack. Allowed values - are `spectro`, `manifest` or `helm`. The default - value is `spectro`. - type: string - uid: - description: The unique identifier of the pack. The - value can be looked up using the [`spectrocloud_pack`](https://registry.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) - data source. This value is required if the pack - type is `spectro` and for `helm` if the chart is - from a public helm registry. - type: string - values: - description: The values of the pack. The values are - the configuration values of the pack. The values - are specified in YAML format. - type: string - type: object - type: array - type: object - type: array - clusterRbacBinding: - description: The RBAC binding for the cluster. - items: - properties: - namespace: - description: The Kubernetes namespace of the RBAC binding. - Required if 'type' is set to 'RoleBinding'. - type: string - role: - additionalProperties: - type: string - description: The role of the RBAC binding. Required if 'type' - is set to 'RoleBinding'. - type: object - x-kubernetes-map-type: granular - subjects: - items: - properties: - name: - description: The name of the subject. Required if - 'type' is set to 'User' or 'Group'. - type: string - namespace: - description: The Kubernetes namespace of the subject. - Required if 'type' is set to 'ServiceAccount'. - type: string - type: - description: 'The type of the subject. Can be one - of the following values: `User`, `Group`, or `ServiceAccount`.' - type: string - type: object - type: array - type: - description: 'The type of the RBAC binding. Can be one of - the following values: `RoleBinding`, or `ClusterRoleBinding`.' - type: string - type: object - type: array - context: - description: The context of the Libvirt cluster. Allowed values - are `project` or `tenant`. Default is `project`. If the `project` - context is specified, the project name will sourced from the - provider configuration parameter [`project_name`](https://registry.io/providers/spectrocloud/spectrocloud/latest/docs#schema). - type: string - description: - description: The description of the cluster. Default value is - empty string. - type: string - forceDelete: - description: If set to `true`, the cluster will be force deleted - and user has to manually clean up the provisioned cloud resources. - type: boolean - forceDeleteDelay: - description: Delay duration in minutes to before invoking cluster - force delete. Default and minimum is 20. - type: number - hostConfig: - description: The host configuration for the cluster. - items: - properties: - externalTrafficPolicy: - description: The external traffic policy for the cluster. - type: string - hostEndpointType: - description: The type of endpoint for the cluster. Can be - either 'Ingress' or 'LoadBalancer'. The default is 'Ingress'. - type: string - ingressHost: - description: The host for the Ingress endpoint. Required - if 'host_endpoint_type' is set to 'Ingress'. - type: string - loadBalancerSourceRanges: - description: The source ranges for the load balancer. Required - if 'host_endpoint_type' is set to 'LoadBalancer'. - type: string - type: object - type: array - locationConfig: - items: - properties: - countryCode: - description: The country code of the country the cluster - is located in. - type: string - countryName: - description: The name of the country. - type: string - latitude: - description: The latitude coordinates value. - type: number - longitude: - description: The longitude coordinates value. - type: number - regionCode: - description: The region code of where the cluster is located - in. - type: string - regionName: - description: The name of the region. - type: string - type: object - type: array - machinePool: - items: - properties: - additionalLabels: - additionalProperties: - type: string - type: object - x-kubernetes-map-type: granular - controlPlane: - description: Whether this machine pool is a control plane. - Defaults to `false`. - type: boolean - controlPlaneAsWorker: - description: Whether this machine pool is a control plane - and a worker. Defaults to `false`. - type: boolean - count: - description: Number of nodes in the machine pool. - type: number - instanceType: - items: - properties: - attachedDisks: - items: - properties: - managed: - type: boolean - sizeInGb: - type: number - type: object - type: array - cachePassthrough: - type: boolean - cpu: - type: number - cpusSets: - type: string - diskSizeGb: - type: number - gpuConfig: - items: - properties: - addresses: - additionalProperties: - type: string - type: object - x-kubernetes-map-type: granular - deviceModel: - type: string - numGpus: - type: number - vendor: - type: string - type: object - type: array - memoryMb: - type: number - type: object - type: array - name: - type: string - node: - items: - properties: - action: - description: 'The action to perform on the node. Valid - values are: `cordon`, `uncordon`.' - type: string - nodeId: - description: The node_id of the node, For example - `i-07f899a33dee624f7` - type: string - type: object - type: array - nodeRepaveInterval: - description: Minimum number of seconds node should be Ready, - before the next node is selected for repave. Default value - is `0`, Applicable only for worker pools. - type: number - placements: - items: - properties: - applianceId: - type: string - dataStoragePool: - type: string - gpuDevice: - items: - properties: - addresses: - additionalProperties: - type: string - description: Addresses is a map of PCI device - entry name to its addresses. - type: object - x-kubernetes-map-type: granular - deviceModel: - description: DeviceModel `device_model` is the - model of GPU, for a given vendor, for eg., - TU104GL [Tesla T4] - type: string - vendor: - description: Vendor `vendor` is the GPU vendor, - for eg., NVIDIA or AMD - type: string - type: object - type: array - imageStoragePool: - type: string - network: - type: string - networkNames: - type: string - networkType: - type: string - targetStoragePool: - type: string - type: object - type: array - taints: - items: - properties: - effect: - description: 'The effect of the taint. Allowed values - are: `NoSchedule`, `PreferNoSchedule` or `NoExecute`.' - type: string - key: - description: The key of the taint. - type: string - value: - description: The value of the taint. - type: string - type: object - type: array - updateStrategy: - description: Update strategy for the machine pool. Valid - values are `RollingUpdateScaleOut` and `RollingUpdateScaleIn`. - type: string - xslTemplate: - description: XSL template to use. - type: string - type: object - type: array - namespaces: - description: The namespaces for the cluster. - items: - properties: - imagesBlacklist: - description: List of images to disallow for the namespace. - For example, `['nginx:latest', 'redis:latest']` - items: - type: string - type: array - name: - description: Name of the namespace. This is the name of - the Kubernetes namespace in the cluster. - type: string - resourceAllocation: - additionalProperties: - type: string - description: 'Resource allocation for the namespace. This - is a map containing the resource type and the resource - value. For example, `{cpu_cores: ''2'', memory_MiB: ''2048''}`' - type: object - x-kubernetes-map-type: granular - type: object - type: array - osPatchAfter: - description: 'Date and time after which to patch cluster `RFC3339: - 2006-01-02T15:04:05Z07:00`' - type: string - osPatchOnBoot: - description: Whether to apply OS patch on boot. Default is `false`. - type: boolean - osPatchSchedule: - description: Cron schedule for OS patching. This must be in the - form of `0 0 * * *`. - type: string - pauseAgentUpgrades: - description: The pause agent upgrades setting allows to control - the automatic upgrade of the Palette component and agent for - an individual cluster. The default value is `unlock`, meaning - upgrades occur automatically. Setting it to `lock` pauses automatic - agent upgrades for the cluster. - type: string - reviewRepaveState: - description: To authorize the cluster repave, set the value to - `Approved` for approval and `""` to decline. Default value is - `""`. - type: string - scanPolicy: - description: The scan policy for the cluster. - items: - properties: - configurationScanSchedule: - description: The schedule for configuration scan. - type: string - conformanceScanSchedule: - description: The schedule for conformance scan. - type: string - penetrationScanSchedule: - description: The schedule for penetration scan. - type: string - type: object - type: array - skipCompletion: - description: If `true`, the cluster will be created asynchronously. - Default value is `false`. - type: boolean - tags: - description: A list of tags to be applied to the cluster. Tags - must be in the form of `key:value`. - items: - type: string - type: array - x-kubernetes-list-type: set - 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: - applySetting: - description: The setting to apply the cluster profile. `DownloadAndInstall` - will download and install packs in one action. `DownloadAndInstallLater` - will only download artifact and postpone install for later. - Default value is `DownloadAndInstall`. - type: string - backupPolicy: - description: The backup policy for the cluster. If not specified, - no backups will be taken. - items: - properties: - backupLocationId: - description: The ID of the backup location to use for the - backup. - type: string - clusterUids: - description: The list of cluster UIDs to include in the - backup. If `include_all_clusters` is set to `true`, then - all clusters will be included. - items: - type: string - type: array - x-kubernetes-list-type: set - expiryInHour: - description: The number of hours after which the backup - will be deleted. For example, if the expiry is set to - 24, the backup will be deleted after 24 hours. - type: number - includeAllClusters: - description: Whether to include all clusters in the backup. - If set to false, only the clusters specified in `cluster_uids` - will be included. - type: boolean - includeClusterResources: - description: Whether to include the cluster resources in - the backup. If set to false, only the cluster configuration - and disks will be backed up. - type: boolean - includeDisks: - description: Whether to include the disks in the backup. - If set to false, only the cluster configuration will be - backed up. - type: boolean - namespaces: - description: The list of Kubernetes namespaces to include - in the backup. If not specified, all namespaces will be - included. - items: - type: string - type: array - x-kubernetes-list-type: set - prefix: - description: Prefix for the backup name. The backup name - will be of the format --. - type: string - schedule: - description: The schedule for the backup. The schedule is - specified in cron format. For example, to run the backup - every day at 1:00 AM, the schedule should be set to `0 - 1 * * *`. - type: string - type: object - type: array - cloudAccountId: - type: string - cloudConfig: - items: - properties: - networkSearchDomain: - description: The search domain to use for the cluster in - case of DHCP. - type: string - networkType: - description: The type of network to use for the cluster. - This can be `VIP` or `DDNS`. - type: string - ntpServers: - items: - type: string - type: array - x-kubernetes-list-type: set - sshKeys: - description: List of public SSH (Secure Shell) to establish, - administer, and communicate with remote clusters. - items: - type: string - type: array - x-kubernetes-list-type: set - vip: - type: string - type: object - type: array - clusterMetaAttribute: - description: '`cluster_meta_attribute` can be used to set additional - cluster metadata information, eg `{''nic_name'': ''test'', ''env'': - ''stage''}`' - type: string - clusterProfile: - items: - properties: - id: - description: The ID of the cluster profile. - type: string - pack: - description: For packs of type `spectro`, `helm`, and `manifest`, - at least one pack must be specified. - items: - properties: - manifest: - items: - properties: - content: - description: The content of the manifest. The - content is the YAML content of the manifest. - type: string - name: - description: The name of the manifest. The name - must be unique within the pack. - type: string - type: object - type: array - name: - description: The name of the pack. The name must be - unique within the cluster profile. - type: string - registryUid: - description: The registry UID of the pack. The registry - UID is the unique identifier of the registry. This - attribute is required if there is more than one - registry that contains a pack with the same name. - type: string - tag: - description: The tag of the pack. The tag is the version - of the pack. This attribute is required if the pack - type is `spectro` or `helm`. - type: string - type: - description: The type of the pack. Allowed values - are `spectro`, `manifest` or `helm`. The default - value is `spectro`. - type: string - uid: - description: The unique identifier of the pack. The - value can be looked up using the [`spectrocloud_pack`](https://registry.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) - data source. This value is required if the pack - type is `spectro` and for `helm` if the chart is - from a public helm registry. - type: string - values: - description: The values of the pack. The values are - the configuration values of the pack. The values - are specified in YAML format. - type: string - type: object - type: array - type: object - type: array - clusterRbacBinding: - description: The RBAC binding for the cluster. - items: - properties: - namespace: - description: The Kubernetes namespace of the RBAC binding. - Required if 'type' is set to 'RoleBinding'. - type: string - role: - additionalProperties: - type: string - description: The role of the RBAC binding. Required if 'type' - is set to 'RoleBinding'. - type: object - x-kubernetes-map-type: granular - subjects: - items: - properties: - name: - description: The name of the subject. Required if - 'type' is set to 'User' or 'Group'. - type: string - namespace: - description: The Kubernetes namespace of the subject. - Required if 'type' is set to 'ServiceAccount'. - type: string - type: - description: 'The type of the subject. Can be one - of the following values: `User`, `Group`, or `ServiceAccount`.' - type: string - type: object - type: array - type: - description: 'The type of the RBAC binding. Can be one of - the following values: `RoleBinding`, or `ClusterRoleBinding`.' - type: string - type: object - type: array - context: - description: The context of the Libvirt cluster. Allowed values - are `project` or `tenant`. Default is `project`. If the `project` - context is specified, the project name will sourced from the - provider configuration parameter [`project_name`](https://registry.io/providers/spectrocloud/spectrocloud/latest/docs#schema). - type: string - description: - description: The description of the cluster. Default value is - empty string. - type: string - forceDelete: - description: If set to `true`, the cluster will be force deleted - and user has to manually clean up the provisioned cloud resources. - type: boolean - forceDeleteDelay: - description: Delay duration in minutes to before invoking cluster - force delete. Default and minimum is 20. - type: number - hostConfig: - description: The host configuration for the cluster. - items: - properties: - externalTrafficPolicy: - description: The external traffic policy for the cluster. - type: string - hostEndpointType: - description: The type of endpoint for the cluster. Can be - either 'Ingress' or 'LoadBalancer'. The default is 'Ingress'. - type: string - ingressHost: - description: The host for the Ingress endpoint. Required - if 'host_endpoint_type' is set to 'Ingress'. - type: string - loadBalancerSourceRanges: - description: The source ranges for the load balancer. Required - if 'host_endpoint_type' is set to 'LoadBalancer'. - type: string - type: object - type: array - locationConfig: - items: - properties: - countryCode: - description: The country code of the country the cluster - is located in. - type: string - countryName: - description: The name of the country. - type: string - latitude: - description: The latitude coordinates value. - type: number - longitude: - description: The longitude coordinates value. - type: number - regionCode: - description: The region code of where the cluster is located - in. - type: string - regionName: - description: The name of the region. - type: string - type: object - type: array - machinePool: - items: - properties: - additionalLabels: - additionalProperties: - type: string - type: object - x-kubernetes-map-type: granular - controlPlane: - description: Whether this machine pool is a control plane. - Defaults to `false`. - type: boolean - controlPlaneAsWorker: - description: Whether this machine pool is a control plane - and a worker. Defaults to `false`. - type: boolean - count: - description: Number of nodes in the machine pool. - type: number - instanceType: - items: - properties: - attachedDisks: - items: - properties: - managed: - type: boolean - sizeInGb: - type: number - type: object - type: array - cachePassthrough: - type: boolean - cpu: - type: number - cpusSets: - type: string - diskSizeGb: - type: number - gpuConfig: - items: - properties: - addresses: - additionalProperties: - type: string - type: object - x-kubernetes-map-type: granular - deviceModel: - type: string - numGpus: - type: number - vendor: - type: string - type: object - type: array - memoryMb: - type: number - type: object - type: array - name: - type: string - node: - items: - properties: - action: - description: 'The action to perform on the node. Valid - values are: `cordon`, `uncordon`.' - type: string - nodeId: - description: The node_id of the node, For example - `i-07f899a33dee624f7` - type: string - type: object - type: array - nodeRepaveInterval: - description: Minimum number of seconds node should be Ready, - before the next node is selected for repave. Default value - is `0`, Applicable only for worker pools. - type: number - placements: - items: - properties: - applianceId: - type: string - dataStoragePool: - type: string - gpuDevice: - items: - properties: - addresses: - additionalProperties: - type: string - description: Addresses is a map of PCI device - entry name to its addresses. - type: object - x-kubernetes-map-type: granular - deviceModel: - description: DeviceModel `device_model` is the - model of GPU, for a given vendor, for eg., - TU104GL [Tesla T4] - type: string - vendor: - description: Vendor `vendor` is the GPU vendor, - for eg., NVIDIA or AMD - type: string - type: object - type: array - imageStoragePool: - type: string - network: - type: string - networkNames: - type: string - networkType: - type: string - targetStoragePool: - type: string - type: object - type: array - taints: - items: - properties: - effect: - description: 'The effect of the taint. Allowed values - are: `NoSchedule`, `PreferNoSchedule` or `NoExecute`.' - type: string - key: - description: The key of the taint. - type: string - value: - description: The value of the taint. - type: string - type: object - type: array - updateStrategy: - description: Update strategy for the machine pool. Valid - values are `RollingUpdateScaleOut` and `RollingUpdateScaleIn`. - type: string - xslTemplate: - description: XSL template to use. - type: string - type: object - type: array - namespaces: - description: The namespaces for the cluster. - items: - properties: - imagesBlacklist: - description: List of images to disallow for the namespace. - For example, `['nginx:latest', 'redis:latest']` - items: - type: string - type: array - name: - description: Name of the namespace. This is the name of - the Kubernetes namespace in the cluster. - type: string - resourceAllocation: - additionalProperties: - type: string - description: 'Resource allocation for the namespace. This - is a map containing the resource type and the resource - value. For example, `{cpu_cores: ''2'', memory_MiB: ''2048''}`' - type: object - x-kubernetes-map-type: granular - type: object - type: array - osPatchAfter: - description: 'Date and time after which to patch cluster `RFC3339: - 2006-01-02T15:04:05Z07:00`' - type: string - osPatchOnBoot: - description: Whether to apply OS patch on boot. Default is `false`. - type: boolean - osPatchSchedule: - description: Cron schedule for OS patching. This must be in the - form of `0 0 * * *`. - type: string - pauseAgentUpgrades: - description: The pause agent upgrades setting allows to control - the automatic upgrade of the Palette component and agent for - an individual cluster. The default value is `unlock`, meaning - upgrades occur automatically. Setting it to `lock` pauses automatic - agent upgrades for the cluster. - type: string - reviewRepaveState: - description: To authorize the cluster repave, set the value to - `Approved` for approval and `""` to decline. Default value is - `""`. - type: string - scanPolicy: - description: The scan policy for the cluster. - items: - properties: - configurationScanSchedule: - description: The schedule for configuration scan. - type: string - conformanceScanSchedule: - description: The schedule for conformance scan. - type: string - penetrationScanSchedule: - description: The schedule for penetration scan. - type: string - type: object - type: array - skipCompletion: - description: If `true`, the cluster will be created asynchronously. - Default value is `false`. - type: boolean - tags: - description: A list of tags to be applied to the cluster. Tags - must be in the form of `key:value`. - items: - type: string - type: array - x-kubernetes-list-type: set - 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.cloudConfig is a required parameter - rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies - || ''Update'' in self.managementPolicies) || has(self.forProvider.cloudConfig) - || (has(self.initProvider) && has(self.initProvider.cloudConfig))' - - message: spec.forProvider.machinePool is a required parameter - rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies - || ''Update'' in self.managementPolicies) || has(self.forProvider.machinePool) - || (has(self.initProvider) && has(self.initProvider.machinePool))' - status: - description: LibvirtStatus defines the observed state of Libvirt. - properties: - atProvider: - properties: - adminKubeConfig: - description: Admin Kube-config for the cluster. This can be used - to connect to the cluster using `kubectl`, With admin privilege. - type: string - applySetting: - description: The setting to apply the cluster profile. `DownloadAndInstall` - will download and install packs in one action. `DownloadAndInstallLater` - will only download artifact and postpone install for later. - Default value is `DownloadAndInstall`. - type: string - backupPolicy: - description: The backup policy for the cluster. If not specified, - no backups will be taken. - items: - properties: - backupLocationId: - description: The ID of the backup location to use for the - backup. - type: string - clusterUids: - description: The list of cluster UIDs to include in the - backup. If `include_all_clusters` is set to `true`, then - all clusters will be included. - items: - type: string - type: array - x-kubernetes-list-type: set - expiryInHour: - description: The number of hours after which the backup - will be deleted. For example, if the expiry is set to - 24, the backup will be deleted after 24 hours. - type: number - includeAllClusters: - description: Whether to include all clusters in the backup. - If set to false, only the clusters specified in `cluster_uids` - will be included. - type: boolean - includeClusterResources: - description: Whether to include the cluster resources in - the backup. If set to false, only the cluster configuration - and disks will be backed up. - type: boolean - includeDisks: - description: Whether to include the disks in the backup. - If set to false, only the cluster configuration will be - backed up. - type: boolean - namespaces: - description: The list of Kubernetes namespaces to include - in the backup. If not specified, all namespaces will be - included. - items: - type: string - type: array - x-kubernetes-list-type: set - prefix: - description: Prefix for the backup name. The backup name - will be of the format --. - type: string - schedule: - description: The schedule for the backup. The schedule is - specified in cron format. For example, to run the backup - every day at 1:00 AM, the schedule should be set to `0 - 1 * * *`. - type: string - type: object - type: array - cloudAccountId: - type: string - cloudConfig: - items: - properties: - networkSearchDomain: - description: The search domain to use for the cluster in - case of DHCP. - type: string - networkType: - description: The type of network to use for the cluster. - This can be `VIP` or `DDNS`. - type: string - ntpServers: - items: - type: string - type: array - x-kubernetes-list-type: set - sshKeys: - description: List of public SSH (Secure Shell) to establish, - administer, and communicate with remote clusters. - items: - type: string - type: array - x-kubernetes-list-type: set - vip: - type: string - type: object - type: array - cloudConfigId: - description: ID of the cloud config used for the cluster. This - cloud config must be of type `azure`. - type: string - clusterMetaAttribute: - description: '`cluster_meta_attribute` can be used to set additional - cluster metadata information, eg `{''nic_name'': ''test'', ''env'': - ''stage''}`' - type: string - clusterProfile: - items: - properties: - id: - description: The ID of the cluster profile. - type: string - pack: - description: For packs of type `spectro`, `helm`, and `manifest`, - at least one pack must be specified. - items: - properties: - manifest: - items: - properties: - content: - description: The content of the manifest. The - content is the YAML content of the manifest. - type: string - name: - description: The name of the manifest. The name - must be unique within the pack. - type: string - uid: - type: string - type: object - type: array - name: - description: The name of the pack. The name must be - unique within the cluster profile. - type: string - registryUid: - description: The registry UID of the pack. The registry - UID is the unique identifier of the registry. This - attribute is required if there is more than one - registry that contains a pack with the same name. - type: string - tag: - description: The tag of the pack. The tag is the version - of the pack. This attribute is required if the pack - type is `spectro` or `helm`. - type: string - type: - description: The type of the pack. Allowed values - are `spectro`, `manifest` or `helm`. The default - value is `spectro`. - type: string - uid: - description: The unique identifier of the pack. The - value can be looked up using the [`spectrocloud_pack`](https://registry.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) - data source. This value is required if the pack - type is `spectro` and for `helm` if the chart is - from a public helm registry. - type: string - values: - description: The values of the pack. The values are - the configuration values of the pack. The values - are specified in YAML format. - type: string - type: object - type: array - type: object - type: array - clusterRbacBinding: - description: The RBAC binding for the cluster. - items: - properties: - namespace: - description: The Kubernetes namespace of the RBAC binding. - Required if 'type' is set to 'RoleBinding'. - type: string - role: - additionalProperties: - type: string - description: The role of the RBAC binding. Required if 'type' - is set to 'RoleBinding'. - type: object - x-kubernetes-map-type: granular - subjects: - items: - properties: - name: - description: The name of the subject. Required if - 'type' is set to 'User' or 'Group'. - type: string - namespace: - description: The Kubernetes namespace of the subject. - Required if 'type' is set to 'ServiceAccount'. - type: string - type: - description: 'The type of the subject. Can be one - of the following values: `User`, `Group`, or `ServiceAccount`.' - type: string - type: object - type: array - type: - description: 'The type of the RBAC binding. Can be one of - the following values: `RoleBinding`, or `ClusterRoleBinding`.' - type: string - type: object - type: array - context: - description: The context of the Libvirt cluster. Allowed values - are `project` or `tenant`. Default is `project`. If the `project` - context is specified, the project name will sourced from the - provider configuration parameter [`project_name`](https://registry.io/providers/spectrocloud/spectrocloud/latest/docs#schema). - type: string - description: - description: The description of the cluster. Default value is - empty string. - type: string - forceDelete: - description: If set to `true`, the cluster will be force deleted - and user has to manually clean up the provisioned cloud resources. - type: boolean - forceDeleteDelay: - description: Delay duration in minutes to before invoking cluster - force delete. Default and minimum is 20. - type: number - hostConfig: - description: The host configuration for the cluster. - items: - properties: - externalTrafficPolicy: - description: The external traffic policy for the cluster. - type: string - hostEndpointType: - description: The type of endpoint for the cluster. Can be - either 'Ingress' or 'LoadBalancer'. The default is 'Ingress'. - type: string - ingressHost: - description: The host for the Ingress endpoint. Required - if 'host_endpoint_type' is set to 'Ingress'. - type: string - loadBalancerSourceRanges: - description: The source ranges for the load balancer. Required - if 'host_endpoint_type' is set to 'LoadBalancer'. - type: string - type: object - type: array - id: - type: string - kubeconfig: - description: Kubeconfig for the cluster. This can be used to connect - to the cluster using `kubectl`. - type: string - locationConfig: - items: - properties: - countryCode: - description: The country code of the country the cluster - is located in. - type: string - countryName: - description: The name of the country. - type: string - latitude: - description: The latitude coordinates value. - type: number - longitude: - description: The longitude coordinates value. - type: number - regionCode: - description: The region code of where the cluster is located - in. - type: string - regionName: - description: The name of the region. - type: string - type: object - type: array - machinePool: - items: - properties: - additionalLabels: - additionalProperties: - type: string - type: object - x-kubernetes-map-type: granular - controlPlane: - description: Whether this machine pool is a control plane. - Defaults to `false`. - type: boolean - controlPlaneAsWorker: - description: Whether this machine pool is a control plane - and a worker. Defaults to `false`. - type: boolean - count: - description: Number of nodes in the machine pool. - type: number - instanceType: - items: - properties: - attachedDisks: - items: - properties: - managed: - type: boolean - sizeInGb: - type: number - type: object - type: array - cachePassthrough: - type: boolean - cpu: - type: number - cpusSets: - type: string - diskSizeGb: - type: number - gpuConfig: - items: - properties: - addresses: - additionalProperties: - type: string - type: object - x-kubernetes-map-type: granular - deviceModel: - type: string - numGpus: - type: number - vendor: - type: string - type: object - type: array - memoryMb: - type: number - type: object - type: array - name: - type: string - node: - items: - properties: - action: - description: 'The action to perform on the node. Valid - values are: `cordon`, `uncordon`.' - type: string - nodeId: - description: The node_id of the node, For example - `i-07f899a33dee624f7` - type: string - type: object - type: array - nodeRepaveInterval: - description: Minimum number of seconds node should be Ready, - before the next node is selected for repave. Default value - is `0`, Applicable only for worker pools. - type: number - placements: - items: - properties: - applianceId: - type: string - dataStoragePool: - type: string - gpuDevice: - items: - properties: - addresses: - additionalProperties: - type: string - description: Addresses is a map of PCI device - entry name to its addresses. - type: object - x-kubernetes-map-type: granular - deviceModel: - description: DeviceModel `device_model` is the - model of GPU, for a given vendor, for eg., - TU104GL [Tesla T4] - type: string - vendor: - description: Vendor `vendor` is the GPU vendor, - for eg., NVIDIA or AMD - type: string - type: object - type: array - imageStoragePool: - type: string - network: - type: string - networkNames: - type: string - networkType: - type: string - targetStoragePool: - type: string - type: object - type: array - taints: - items: - properties: - effect: - description: 'The effect of the taint. Allowed values - are: `NoSchedule`, `PreferNoSchedule` or `NoExecute`.' - type: string - key: - description: The key of the taint. - type: string - value: - description: The value of the taint. - type: string - type: object - type: array - updateStrategy: - description: Update strategy for the machine pool. Valid - values are `RollingUpdateScaleOut` and `RollingUpdateScaleIn`. - type: string - xslTemplate: - description: XSL template to use. - type: string - type: object - type: array - namespaces: - description: The namespaces for the cluster. - items: - properties: - imagesBlacklist: - description: List of images to disallow for the namespace. - For example, `['nginx:latest', 'redis:latest']` - items: - type: string - type: array - name: - description: Name of the namespace. This is the name of - the Kubernetes namespace in the cluster. - type: string - resourceAllocation: - additionalProperties: - type: string - description: 'Resource allocation for the namespace. This - is a map containing the resource type and the resource - value. For example, `{cpu_cores: ''2'', memory_MiB: ''2048''}`' - type: object - x-kubernetes-map-type: granular - type: object - type: array - osPatchAfter: - description: 'Date and time after which to patch cluster `RFC3339: - 2006-01-02T15:04:05Z07:00`' - type: string - osPatchOnBoot: - description: Whether to apply OS patch on boot. Default is `false`. - type: boolean - osPatchSchedule: - description: Cron schedule for OS patching. This must be in the - form of `0 0 * * *`. - type: string - pauseAgentUpgrades: - description: The pause agent upgrades setting allows to control - the automatic upgrade of the Palette component and agent for - an individual cluster. The default value is `unlock`, meaning - upgrades occur automatically. Setting it to `lock` pauses automatic - agent upgrades for the cluster. - type: string - reviewRepaveState: - description: To authorize the cluster repave, set the value to - `Approved` for approval and `""` to decline. Default value is - `""`. - type: string - scanPolicy: - description: The scan policy for the cluster. - items: - properties: - configurationScanSchedule: - description: The schedule for configuration scan. - type: string - conformanceScanSchedule: - description: The schedule for conformance scan. - type: string - penetrationScanSchedule: - description: The schedule for penetration scan. - type: string - type: object - type: array - skipCompletion: - description: If `true`, the cluster will be created asynchronously. - Default value is `false`. - type: boolean - tags: - description: A list of tags to be applied to the cluster. Tags - must be in the form of `key:value`. - items: - type: string - type: array - x-kubernetes-list-type: set - 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 - 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. - 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 - 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 - type: object - served: true - storage: true - subresources: - status: {} diff --git a/package/crds/cluster.palette.crossplane.io_maas.yaml b/package/crds/cluster.palette.crossplane.io_maas.yaml index 6e9283e..df8ba65 100644 --- a/package/crds/cluster.palette.crossplane.io_maas.yaml +++ b/package/crds/cluster.palette.crossplane.io_maas.yaml @@ -207,8 +207,8 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. type: string uid: description: |- @@ -259,14 +259,14 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. type: string type: object type: array type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. type: string type: object @@ -728,8 +728,8 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. type: string uid: description: |- @@ -780,14 +780,14 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. type: string type: object type: array type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. type: string type: object @@ -1435,8 +1435,8 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. type: string uid: description: |- @@ -1487,14 +1487,14 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. type: string type: object type: array type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. type: string type: object diff --git a/package/crds/cluster.palette.crossplane.io_openstacks.yaml b/package/crds/cluster.palette.crossplane.io_openstacks.yaml index dcbc423..0619d9c 100644 --- a/package/crds/cluster.palette.crossplane.io_openstacks.yaml +++ b/package/crds/cluster.palette.crossplane.io_openstacks.yaml @@ -229,8 +229,8 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. type: string uid: description: |- @@ -281,14 +281,14 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. type: string type: object type: array type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. type: string type: object @@ -725,8 +725,8 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. type: string uid: description: |- @@ -777,14 +777,14 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. type: string type: object type: array type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. type: string type: object @@ -1411,8 +1411,8 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. type: string uid: description: |- @@ -1463,14 +1463,14 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. type: string type: object type: array type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. type: string type: object diff --git a/package/crds/cluster.palette.crossplane.io_profiles.yaml b/package/crds/cluster.palette.crossplane.io_profiles.yaml index 662a232..d0f19df 100644 --- a/package/crds/cluster.palette.crossplane.io_profiles.yaml +++ b/package/crds/cluster.palette.crossplane.io_profiles.yaml @@ -75,8 +75,8 @@ spec: properties: cloud: description: |- - all, aws, azure, gcp, vsphere, openstack, maas, virtual, baremetal, eks, aks, edge, edge-native, libvirt, tencent, tke, coxedge, generic, and gke,If the value is set to all, then the type must be set to add-on. Otherwise, the cluster profile may be incompatible with other providers. Default value is all. - Specify the infrastructure provider the cluster profile is for. Only Palette supported infrastructure providers can be used. The supported cloud types are - `all, aws, azure, gcp, vsphere, openstack, maas, virtual, baremetal, eks, aks, edge, edge-native, libvirt, tencent, tke, coxedge, generic, and gke`,If the value is set to `all`, then the type must be set to `add-on`. Otherwise, the cluster profile may be incompatible with other providers. Default value is `all`. + all, aws, azure, gcp, vsphere, openstack, maas, virtual, baremetal, eks, aks, edge, edge-native, tencent, tke, generic, and gke,If the value is set to all, then the type must be set to add-on. Otherwise, the cluster profile may be incompatible with other providers. Default value is all. + Specify the infrastructure provider the cluster profile is for. Only Palette supported infrastructure providers can be used. The supported cloud types are - `all, aws, azure, gcp, vsphere, openstack, maas, virtual, baremetal, eks, aks, edge, edge-native, tencent, tke, generic, and gke`,If the value is set to `all`, then the type must be set to `add-on`. Otherwise, the cluster profile may be incompatible with other providers. Default value is `all`. type: string context: description: |- @@ -126,7 +126,7 @@ spec: type: description: |- on, and system. These values map to the following User Interface (UI) labels. Use the value ' cluster ' for a Full cluster profile.For an Infrastructure cluster profile, use the value infra; for an Add-on cluster profile, use the value add-on.System cluster profiles can be specified using the value system. To learn more about cluster profiles, refer to the Cluster Profile documentation. Default value is add-on. - The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. type: string uid: description: |- @@ -239,8 +239,8 @@ spec: properties: cloud: description: |- - all, aws, azure, gcp, vsphere, openstack, maas, virtual, baremetal, eks, aks, edge, edge-native, libvirt, tencent, tke, coxedge, generic, and gke,If the value is set to all, then the type must be set to add-on. Otherwise, the cluster profile may be incompatible with other providers. Default value is all. - Specify the infrastructure provider the cluster profile is for. Only Palette supported infrastructure providers can be used. The supported cloud types are - `all, aws, azure, gcp, vsphere, openstack, maas, virtual, baremetal, eks, aks, edge, edge-native, libvirt, tencent, tke, coxedge, generic, and gke`,If the value is set to `all`, then the type must be set to `add-on`. Otherwise, the cluster profile may be incompatible with other providers. Default value is `all`. + all, aws, azure, gcp, vsphere, openstack, maas, virtual, baremetal, eks, aks, edge, edge-native, tencent, tke, generic, and gke,If the value is set to all, then the type must be set to add-on. Otherwise, the cluster profile may be incompatible with other providers. Default value is all. + Specify the infrastructure provider the cluster profile is for. Only Palette supported infrastructure providers can be used. The supported cloud types are - `all, aws, azure, gcp, vsphere, openstack, maas, virtual, baremetal, eks, aks, edge, edge-native, tencent, tke, generic, and gke`,If the value is set to `all`, then the type must be set to `add-on`. Otherwise, the cluster profile may be incompatible with other providers. Default value is `all`. type: string context: description: |- @@ -290,7 +290,7 @@ spec: type: description: |- on, and system. These values map to the following User Interface (UI) labels. Use the value ' cluster ' for a Full cluster profile.For an Infrastructure cluster profile, use the value infra; for an Add-on cluster profile, use the value add-on.System cluster profiles can be specified using the value system. To learn more about cluster profiles, refer to the Cluster Profile documentation. Default value is add-on. - The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. type: string uid: description: |- @@ -562,8 +562,8 @@ spec: properties: cloud: description: |- - all, aws, azure, gcp, vsphere, openstack, maas, virtual, baremetal, eks, aks, edge, edge-native, libvirt, tencent, tke, coxedge, generic, and gke,If the value is set to all, then the type must be set to add-on. Otherwise, the cluster profile may be incompatible with other providers. Default value is all. - Specify the infrastructure provider the cluster profile is for. Only Palette supported infrastructure providers can be used. The supported cloud types are - `all, aws, azure, gcp, vsphere, openstack, maas, virtual, baremetal, eks, aks, edge, edge-native, libvirt, tencent, tke, coxedge, generic, and gke`,If the value is set to `all`, then the type must be set to `add-on`. Otherwise, the cluster profile may be incompatible with other providers. Default value is `all`. + all, aws, azure, gcp, vsphere, openstack, maas, virtual, baremetal, eks, aks, edge, edge-native, tencent, tke, generic, and gke,If the value is set to all, then the type must be set to add-on. Otherwise, the cluster profile may be incompatible with other providers. Default value is all. + Specify the infrastructure provider the cluster profile is for. Only Palette supported infrastructure providers can be used. The supported cloud types are - `all, aws, azure, gcp, vsphere, openstack, maas, virtual, baremetal, eks, aks, edge, edge-native, tencent, tke, generic, and gke`,If the value is set to `all`, then the type must be set to `add-on`. Otherwise, the cluster profile may be incompatible with other providers. Default value is `all`. type: string context: description: |- @@ -623,7 +623,7 @@ spec: type: description: |- on, and system. These values map to the following User Interface (UI) labels. Use the value ' cluster ' for a Full cluster profile.For an Infrastructure cluster profile, use the value infra; for an Add-on cluster profile, use the value add-on.System cluster profiles can be specified using the value system. To learn more about cluster profiles, refer to the Cluster Profile documentation. Default value is add-on. - The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. type: string uid: description: |- diff --git a/package/crds/cluster.palette.crossplane.io_tkes.yaml b/package/crds/cluster.palette.crossplane.io_tkes.yaml index 7695f94..d51e73b 100644 --- a/package/crds/cluster.palette.crossplane.io_tkes.yaml +++ b/package/crds/cluster.palette.crossplane.io_tkes.yaml @@ -211,8 +211,9 @@ spec: type: string type: description: The type of the pack. Allowed values - are `spectro`, `manifest` or `helm`. The default - value is `spectro`. + are `spectro`, `manifest`, `helm`, or `oci`. The + default value is spectro. If using an OCI registry + for pack, set the type to `oci`. type: string uid: description: The unique identifier of the pack. The @@ -594,8 +595,9 @@ spec: type: string type: description: The type of the pack. Allowed values - are `spectro`, `manifest` or `helm`. The default - value is `spectro`. + are `spectro`, `manifest`, `helm`, or `oci`. The + default value is spectro. If using an OCI registry + for pack, set the type to `oci`. type: string uid: description: The unique identifier of the pack. The @@ -1159,8 +1161,9 @@ spec: type: string type: description: The type of the pack. Allowed values - are `spectro`, `manifest` or `helm`. The default - value is `spectro`. + are `spectro`, `manifest`, `helm`, or `oci`. The + default value is spectro. If using an OCI registry + for pack, set the type to `oci`. type: string uid: description: The unique identifier of the pack. The diff --git a/package/crds/cluster.palette.crossplane.io_vspheres.yaml b/package/crds/cluster.palette.crossplane.io_vspheres.yaml index 7a6ac00..945bf13 100644 --- a/package/crds/cluster.palette.crossplane.io_vspheres.yaml +++ b/package/crds/cluster.palette.crossplane.io_vspheres.yaml @@ -234,8 +234,9 @@ spec: type: string type: description: The type of the pack. Allowed values - are `spectro`, `manifest` or `helm`. The default - value is `spectro`. + are `spectro`, `manifest`, `helm`, or `oci`. The + default value is spectro. If using an OCI registry + for pack, set the type to `oci`. type: string uid: description: The unique identifier of the pack. The @@ -714,8 +715,9 @@ spec: type: string type: description: The type of the pack. Allowed values - are `spectro`, `manifest` or `helm`. The default - value is `spectro`. + are `spectro`, `manifest`, `helm`, or `oci`. The + default value is spectro. If using an OCI registry + for pack, set the type to `oci`. type: string uid: description: The unique identifier of the pack. The @@ -1376,8 +1378,9 @@ spec: type: string type: description: The type of the pack. Allowed values - are `spectro`, `manifest` or `helm`. The default - value is `spectro`. + are `spectro`, `manifest`, `helm`, or `oci`. The + default value is spectro. If using an OCI registry + for pack, set the type to `oci`. type: string uid: description: The unique identifier of the pack. The diff --git a/package/crds/virtual.palette.crossplane.io_clusters.yaml b/package/crds/virtual.palette.crossplane.io_clusters.yaml index c741cf0..be123a4 100644 --- a/package/crds/virtual.palette.crossplane.io_clusters.yaml +++ b/package/crds/virtual.palette.crossplane.io_clusters.yaml @@ -209,8 +209,8 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. type: string uid: description: |- @@ -261,14 +261,14 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. type: string type: object type: array type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. type: string type: object @@ -554,8 +554,8 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. type: string uid: description: |- @@ -606,14 +606,14 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. type: string type: object type: array type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. type: string type: object @@ -1076,8 +1076,8 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. - The type of the pack. Allowed values are `spectro`, `manifest` or `helm`. The default value is `spectro`. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. + The type of the pack. Allowed values are `spectro`, `manifest`, `helm`, or `oci`. The default value is spectro. If using an OCI registry for pack, set the type to `oci`. type: string uid: description: |- @@ -1128,14 +1128,14 @@ spec: type: string type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`. type: string type: object type: array type: description: |- - (String) The type of the pack. Allowed values are spectro, manifest or helm. The default value is spectro. + (String) The type of the pack. Allowed values are spectro, manifest, helm, or oci. The default value is spectro. If using an OCI registry for pack, set the type to oci. The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`. type: string type: object