diff --git a/Makefile b/Makefile index d7c8c80..ea1f510 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.21.5 +export TERRAFORM_PROVIDER_VERSION := 0.21.6 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/backup/v1alpha1/zz_generated.deepcopy.go b/apis/backup/v1alpha1/zz_generated.deepcopy.go index 6f0914d..a8a67fa 100644 --- a/apis/backup/v1alpha1/zz_generated.deepcopy.go +++ b/apis/backup/v1alpha1/zz_generated.deepcopy.go @@ -202,6 +202,11 @@ func (in *StorageLocationInitParameters) DeepCopyInto(out *StorageLocationInitPa *out = new(string) **out = **in } + if in.Context != nil { + in, out := &in.Context, &out.Context + *out = new(string) + **out = **in + } if in.IsDefault != nil { in, out := &in.IsDefault, &out.IsDefault *out = new(bool) @@ -276,6 +281,11 @@ func (in *StorageLocationObservation) DeepCopyInto(out *StorageLocationObservati *out = new(string) **out = **in } + if in.Context != nil { + in, out := &in.Context, &out.Context + *out = new(string) + **out = **in + } if in.ID != nil { in, out := &in.ID, &out.ID *out = new(string) @@ -323,6 +333,11 @@ func (in *StorageLocationParameters) DeepCopyInto(out *StorageLocationParameters *out = new(string) **out = **in } + if in.Context != nil { + in, out := &in.Context, &out.Context + *out = new(string) + **out = **in + } if in.IsDefault != nil { in, out := &in.IsDefault, &out.IsDefault *out = new(bool) diff --git a/apis/backup/v1alpha1/zz_storagelocation_types.go b/apis/backup/v1alpha1/zz_storagelocation_types.go index 1f0a2ee..b951989 100755 --- a/apis/backup/v1alpha1/zz_storagelocation_types.go +++ b/apis/backup/v1alpha1/zz_storagelocation_types.go @@ -123,6 +123,10 @@ type StorageLocationInitParameters struct { // An optional CA certificate used for SSL connections to ensure secure communication with the storage provider. CACert *string `json:"caCert,omitempty" tf:"ca_cert,omitempty"` + // (String) The context of the backup storage location. 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. + // The context of the backup storage location. 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.io/providers/spectrocloud/spectrocloud/latest/docs#schema). + Context *string `json:"context,omitempty" tf:"context,omitempty"` + // (Boolean) Specifies if this backup storage location should be used as the default location for storing backups. // Specifies if this backup storage location should be used as the default location for storing backups. IsDefault *bool `json:"isDefault,omitempty" tf:"is_default,omitempty"` @@ -146,6 +150,10 @@ type StorageLocationObservation struct { // An optional CA certificate used for SSL connections to ensure secure communication with the storage provider. CACert *string `json:"caCert,omitempty" tf:"ca_cert,omitempty"` + // (String) The context of the backup storage location. 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. + // The context of the backup storage location. 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.io/providers/spectrocloud/spectrocloud/latest/docs#schema). + Context *string `json:"context,omitempty" tf:"context,omitempty"` + // (String) The ID of this resource. ID *string `json:"id,omitempty" tf:"id,omitempty"` @@ -174,6 +182,11 @@ type StorageLocationParameters struct { // +kubebuilder:validation:Optional CACert *string `json:"caCert,omitempty" tf:"ca_cert,omitempty"` + // (String) The context of the backup storage location. 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. + // The context of the backup storage location. 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.io/providers/spectrocloud/spectrocloud/latest/docs#schema). + // +kubebuilder:validation:Optional + Context *string `json:"context,omitempty" tf:"context,omitempty"` + // (Boolean) Specifies if this backup storage location should be used as the default location for storing backups. // Specifies if this backup storage location should be used as the default location for storing backups. // +kubebuilder:validation:Optional diff --git a/config/provider-metadata.yaml b/config/provider-metadata.yaml index 0e769f1..ce54556 100644 --- a/config/provider-metadata.yaml +++ b/config/provider-metadata.yaml @@ -319,6 +319,7 @@ resources: manifest: |- { "bucket_name": "dev-backup", + "context": "tenant", "is_default": false, "name": "dev-backup-s3", "region": "us-east-2", @@ -360,6 +361,7 @@ resources: arn: (String) The Amazon Resource Name (ARN) of the IAM role to assume for accessing S3 when using 'sts' credentials. bucket_name: (String) The name of the storage bucket where backups are stored. This is relevant for S3 or S3-compatible storage services. ca_cert: (String) An optional CA certificate used for SSL connections to ensure secure communication with the storage provider. + context: (String) The context of the backup storage location. 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) credential_type: (String) The type of credentials used to access the S3 storage. Supported values are 'secret' for static credentials and 'sts' for temporary, token-based credentials. delete: (String) diff --git a/config/schema.json b/config/schema.json index 777fd33..a861c82 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`, `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":"If set to `true`, the alert will be sent to all users. If `false`, it will target specific users or identifiers.","description_kind":"plain","optional":true},"component":{"type":"string","description":"The component of the system that the alert is associated with. Currently, `ClusterHealth` is the only supported value.","description_kind":"plain","required":true},"created_by":{"type":"string","description":"The user who created the alert.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"identifiers":{"type":["set","string"],"description":"A set of unique identifiers to which the alert will be sent. This is used to target specific users or groups.","description_kind":"plain","optional":true},"is_active":{"type":"bool","description":"Indicates whether the alert is active. Set to `true` to activate the alert, or `false` to deactivate it.","description_kind":"plain","required":true},"project":{"type":"string","description":"The project to which the alert belongs to.","description_kind":"plain","required":true},"type":{"type":"string","description":"The type of alert mechanism to use. Can be either `email` for email alerts or `http` for sending HTTP requests.","description_kind":"plain","required":true}},"block_types":{"http":{"nesting_mode":"list","block":{"attributes":{"body":{"type":"string","description":"The payload to include in the HTTP request body when the alert is triggered.","description_kind":"plain","required":true},"headers":{"type":["map","string"],"description":"Optional HTTP headers to include in the request. Each header should be specified as a key-value pair.","description_kind":"plain","optional":true},"method":{"type":"string","description":"The HTTP method to use for the alert. Supported values are `POST`, `GET`, and `PUT`.","description_kind":"plain","required":true},"url":{"type":"string","description":"The target URL to send the HTTP request to when the alert is triggered.","description_kind":"plain","required":true}},"description":"The configuration block for HTTP-based alerts. This is used when the `type` is set to `http`.","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":"A status block representing the internal status of the alert. This is primarily for internal use and not utilized directly.","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":"The pairing key used for appliance pairing.","description_kind":"plain","optional":true},"tags":{"type":["map","string"],"description":"A set of key-value pairs that can be used to organize and categorize the appliance.","description_kind":"plain","optional":true},"uid":{"type":"string","description":"The unique identifier (UID) for the appliance.","description_kind":"plain","required":true},"wait":{"type":"bool","description":"If set to `true`, the resource creation will wait for the appliance provisioning process to complete before returning. Defaults to `false`.","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":"The unique identifier (UID) of the application profile to use for this application.","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"The name of the application being created.","description_kind":"plain","required":true},"tags":{"type":["set","string"],"description":"A set of tags to associate with the application for easier identification and categorization.","description_kind":"plain","optional":true}},"block_types":{"config":{"nesting_mode":"list","block":{"attributes":{"cluster_context":{"type":"string","description":"The context for the cluster, Either `tenant` or `project` can be provided.","description_kind":"plain","required":true},"cluster_group_uid":{"type":"string","description":"The unique identifier (UID) of the cluster group. Either `cluster_uid` or `cluster_group_uid` can be provided.","description_kind":"plain","optional":true},"cluster_name":{"type":"string","description":"An optional name for the target cluster.","description_kind":"plain","optional":true},"cluster_uid":{"type":"string","description":"The unique identifier (UID) of the target cluster. Either `cluster_uid` or `cluster_group_uid` can be provided.","description_kind":"plain","optional":true}},"block_types":{"limits":{"nesting_mode":"list","block":{"attributes":{"cpu":{"type":"number","description":"The CPU allocation for the application, specified in integer values.","description_kind":"plain","optional":true},"memory":{"type":"number","description":"The memory allocation for the application, specified in megabytes.","description_kind":"plain","optional":true},"storage":{"type":"number","description":"The storage allocation for the application, specified in gigabytes.","description_kind":"plain","optional":true}},"description":"Optional resource limits for the application, including CPU, memory, and storage constraints.","description_kind":"plain"}}},"description":"The configuration block for specifying cluster and resource limits for the application.","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":"The name of the storage bucket where backups are stored. This is relevant for S3 or S3-compatible storage services.","description_kind":"plain","required":true},"ca_cert":{"type":"string","description":"An optional CA certificate used for SSL connections to ensure secure communication with the storage provider.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"is_default":{"type":"bool","description":"Specifies if this backup storage location should be used as the default location for storing backups.","description_kind":"plain","required":true},"name":{"type":"string","description":"The name of the backup storage location. This is a unique identifier for the backup location.","description_kind":"plain","required":true},"region":{"type":"string","description":"The region where the backup storage is located, typically corresponding to the region of the cloud provider.","description_kind":"plain","required":true}},"block_types":{"s3":{"nesting_mode":"list","block":{"attributes":{"access_key":{"type":"string","description":"The access key for S3 authentication, required if 'credential_type' is set to 'secret'.","description_kind":"plain","optional":true},"arn":{"type":"string","description":"The Amazon Resource Name (ARN) of the IAM role to assume for accessing S3 when using 'sts' credentials.","description_kind":"plain","optional":true},"credential_type":{"type":"string","description":"The type of credentials used to access the S3 storage. Supported values are 'secret' for static credentials and 'sts' for temporary, token-based credentials.","description_kind":"plain","required":true},"external_id":{"type":"string","description":"An external ID used for cross-account access to the S3 storage when using 'sts' credentials.","description_kind":"plain","optional":true},"s3_force_path_style":{"type":"bool","description":"A boolean flag indicating whether to enforce the path-style URL for accessing S3.","description_kind":"plain","optional":true},"s3_url":{"type":"string","description":"The S3 URL endpoint.","description_kind":"plain","optional":true},"secret_key":{"type":"string","description":"The secret key for S3 authentication, required if 'credential_type' is set to 'secret'.","description_kind":"plain","optional":true}},"description":"S3-specific settings for configuring the backup storage location.","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":"The Amazon Resource Name (ARN) associated with the AWS resource. This is used for identifying resources in AWS.","description_kind":"plain","optional":true},"aws_access_key":{"type":"string","description":"The AWS access key used to authenticate.","description_kind":"plain","optional":true},"aws_secret_key":{"type":"string","description":"The AWS secret key used in conjunction with the access key for authentication.","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":"An optional external ID that can be used for cross-account access in AWS.","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":"The GCP credentials in JSON format. These credentials are required to authenticate and manage.","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 GCP account.","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":"The name of the Tencent account to be managed.","description_kind":"plain","required":true},"tencent_secret_id":{"type":"string","description":"The secret ID associated with the Tencent account for authentication.","description_kind":"plain","optional":true},"tencent_secret_key":{"type":"string","description":"The secret key associated with the Tencent account for authentication.","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. (Note: Starting with Palette version 4.6, the `include_cluster_resources` attribute will be changed to a string type, supporting the values `always`, `never`, and `auto`.)","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. (Note: Starting with Palette version 4.6, the `include_cluster_resources` attribute will be changed to a string type, supporting the values `always`, `never`, and `auto`.)","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. (Note: Starting with Palette version 4.6, the `include_cluster_resources` attribute will be changed to a string type, supporting the values `always`, `never`, and `auto`.)","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. (Note: Starting with Palette version 4.6, the `include_cluster_resources` attribute will be changed to a string type, supporting the values `always`, `never`, and `auto`.)","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. (Note: Starting with Palette version 4.6, the `include_cluster_resources` attribute will be changed to a string type, supporting the values `always`, `never`, and `auto`.)","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. (Note: Starting with Palette version 4.6, the `include_cluster_resources` attribute will be changed to a string type, supporting the values `always`, `never`, and `auto`.)","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. (Note: Starting with Palette version 4.6, the `include_cluster_resources` attribute will be changed to a string type, supporting the values `always`, `never`, and `auto`.)","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. (Note: Starting with Palette version 4.6, the `include_cluster_resources` attribute will be changed to a string type, supporting the values `always`, `never`, and `auto`.)","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. (Note: Starting with Palette version 4.6, the `include_cluster_resources` attribute will be changed to a string type, supporting the values `always`, `never`, and `auto`.)","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. (Note: Starting with Palette version 4.6, the `include_cluster_resources` attribute will be changed to a string type, supporting the values `always`, `never`, and `auto`.)","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. (Note: Starting with Palette version 4.6, the `include_cluster_resources` attribute will be changed to a string type, supporting the values `always`, `never`, and `auto`.)","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. (Note: Starting with Palette version 4.6, the `include_cluster_resources` attribute will be changed to a string type, supporting the values `always`, `never`, and `auto`.)","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. (Note: Starting with Palette version 4.6, the `include_cluster_resources` attribute will be changed to a string type, supporting the values `always`, `never`, and `auto`.)","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":"The network gateway IP address for the IP pool. Typically, this is the default network gateway for the subnet.","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_end_range":{"type":"string","description":"The end IP address of the IP pool. Required if `network_type` is `range`.","description_kind":"plain","optional":true},"ip_start_range":{"type":"string","description":"The start IP address of the IP pool. Required if `network_type` is `range`.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the IP pool.","description_kind":"plain","required":true},"nameserver_addresses":{"type":["set","string"],"description":"The list of nameserver IP addresses for the IP pool.","description_kind":"plain","optional":true},"nameserver_search_suffix":{"type":["set","string"],"description":"The list of nameserver search suffixes for the IP pool. For example, `example.org`.","description_kind":"plain","optional":true},"network_type":{"type":"string","description":"The type of network for the IP pool. Allowed values are: `range` and `subnet`.","description_kind":"plain","required":true},"prefix":{"type":"number","description":"The prefix of the IP pool provided network range or subnet. For example `24` for a `/24` subnet or a range that falls inside a `24` subnet.","description_kind":"plain","required":true},"private_cloud_gateway_id":{"type":"string","description":"The ID of the Private Cloud Gateway.","description_kind":"plain","required":true},"restrict_to_single_cluster":{"type":"bool","description":"Restrict the IP pool to a single cluster. If set to `true`, the IP pool is restricted to a single cluster. We recommend setting this to `true` for production environments and creating separate IP pools for each cluster.","description_kind":"plain","optional":true},"subnet_cidr":{"type":"string","description":"The subnet CIDR of the IP pool. Required if `network_type` is `subnet`.","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 to manage IP pools for Private Cloud Gateway.","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":"The URL endpoint of the Helm registry where the charts are hosted.","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"is_private":{"type":"bool","description":"Specifies whether the Helm registry is private or public.","description_kind":"plain","required":true},"name":{"type":"string","description":"The name of the Helm registry. This must be unique","description_kind":"plain","required":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"credential_type":{"type":"string","description":"The type of authentication used for the Helm registry. Supported values are 'noAuth' for no authentication, 'basic' for username/password, and 'token' for token-based authentication.","description_kind":"plain","required":true},"password":{"type":"string","description":"The password for basic authentication. Required if 'credential_type' is set to 'basic'.","description_kind":"plain","optional":true},"token":{"type":"string","description":"The authentication token. Required if 'credential_type' is set to 'token'.","description_kind":"plain","optional":true},"username":{"type":"string","description":"The username for basic authentication. Required if 'credential_type' is set to 'basic'.","description_kind":"plain","optional":true}},"description":"Authentication credentials for accessing the Helm registry.","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":"The URL endpoint of the OCI registry. This is where the container images are hosted and accessed.","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"is_private":{"type":"bool","description":"Specifies whether the registry is private or public. Private registries require authentication to access.","description_kind":"plain","required":true},"name":{"type":"string","description":"The name of the OCI registry.","description_kind":"plain","required":true},"provider_type":{"type":"string","description":"The type of provider used for interacting with the registry. The default is 'helm'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the registry. Possible values are 'ecr' (Amazon Elastic Container Registry) or 'basic' (for other types of OCI registries).","description_kind":"plain","required":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"access_key":{"type":"string","description":"The access key for accessing the registry. Required if 'credential_type' is set to 'secret'.","description_kind":"plain","optional":true},"arn":{"type":"string","description":"The Amazon Resource Name (ARN) used for AWS-based authentication. Required if 'credential_type' is 'sts'.","description_kind":"plain","optional":true},"credential_type":{"type":"string","description":"The type of authentication used for accessing the registry. Supported values are 'secret', 'sts', 'basic', and 'noAuth'.","description_kind":"plain","required":true},"external_id":{"type":"string","description":"The external ID used for AWS STS (Security Token Service) authentication. Required if 'credential_type' is 'sts'.","description_kind":"plain","optional":true},"password":{"type":"string","description":"The password for basic authentication. Required if 'credential_type' is 'basic'.","description_kind":"plain","optional":true,"sensitive":true},"secret_key":{"type":"string","description":"The secret key for accessing the registry. Required if 'credential_type' is set to 'secret'.","description_kind":"plain","optional":true,"sensitive":true},"username":{"type":"string","description":"The username for basic authentication. Required if 'credential_type' is 'basic'.","description_kind":"plain","optional":true}},"description":"Authentication credentials to access the private OCI registry. Required if `is_private` is set to `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. (Note: Starting with Palette version 4.6, the `include_cluster_resources` attribute will be changed to a string type, supporting the values `always`, `never`, and `auto`.)","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. (Note: Starting with Palette version 4.6, the `include_cluster_resources` attribute will be changed to a string type, supporting the values `always`, `never`, and `auto`.)","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":"The unique ID of the backup storage location. This is an optional field, but if provided, it will be used to retrieve the specific backup storage location.","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"The name of the backup storage location. This is an optional field, but if provided, it will be used to retrieve the specific backup storage location.","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 custom cloud provider name (e.g., `nutanix`).","description_kind":"plain","required":true},"id":{"type":"string","description":"The unique identifier of the cloud account. Either `id` or `name` must be provided.","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"The name of the cloud account. Either `id` or `name` must be provided.","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":"The unique ID of the cloud account. Either `id` or `name` must be provided, but not both.","description_kind":"plain","optional":true,"computed":true},"maas_api_endpoint":{"type":"string","description":"The API endpoint of the MaaS account. This value is computed based on the cloud account's configuration and is used for interaction with the MaaS service.","description_kind":"plain","computed":true},"maas_api_key":{"type":"string","description":"The API key associated with the MaaS account. This is used to authenticate API requests to the MaaS service and is computed from the cloud account's credentials.","description_kind":"plain","computed":true},"name":{"type":"string","description":"The name of the cloud account. This can be used instead of `id` to retrieve the account details. Only one of `id` or `name` can be specified.","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"spectrocloud_cloudaccount_openstack":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The unique ID of the OpenStack cloud account. Either `id` or `name` must be provided, but not both.","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"The name of the OpenStack cloud account. Either `id` or `name` must be provided, but not both.","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"spectrocloud_cloudaccount_tencent":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The unique ID of the Tencent cloud account. Either `id` or `name` must be provided, but not both.","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"The name of the Tencent cloud account. Either `id` or `name` must be provided, but not both.","description_kind":"plain","optional":true,"computed":true},"tencent_secret_id":{"type":"string","description":"The Tencent Secret ID used for authentication. This value is automatically retrieved and should not be provided manually.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"spectrocloud_cloudaccount_vsphere":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The unique ID of the vSphere cloud account. Either `id` or `name` must be provided, but not both.","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"The name of the vSphere cloud account. Either `id` or `name` must be provided, but not both.","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"spectrocloud_cluster":{"version":0,"block":{"attributes":{"admin_kube_config":{"type":"string","description":"The admin kubeconfig file for accessing the cluster. This is computed automatically.","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":"The kubeconfig file for accessing the cluster as a non-admin user. This is computed automatically.","description_kind":"plain","computed":true},"name":{"type":"string","description":"The name of the cluster.","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":"The unique ID of the cluster profile. Either `id` or `name` must be provided, but not both.","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"The name of the cluster profile. Either `id` or `name` must be provided, but not both.","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":"The version of the cluster profile.","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 unique identifier (UID) of the registry where the pack is located. Specify `registry_uid` to search within a specific registry.","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 (UID) of the registry where the pack is located. Specify `registry_uid` to search within a specific registry.","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":"A data resource to get the ID or name of Private Cloud Gateway.","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":"The unique identifier of the OCI registry.","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"The name of the OCI registry.","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":"The email address of the user. If provided, `id` cannot be used.","description_kind":"plain","optional":true},"id":{"type":"string","description":"The unique ID of the user. If provided, `email` cannot be used.","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":"If set to `true`, the alert will be sent to all users. If `false`, it will target specific users or identifiers.","description_kind":"plain","optional":true},"component":{"type":"string","description":"The component of the system that the alert is associated with. Currently, `ClusterHealth` is the only supported value.","description_kind":"plain","required":true},"created_by":{"type":"string","description":"The user who created the alert.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"identifiers":{"type":["set","string"],"description":"A set of unique identifiers to which the alert will be sent. This is used to target specific users or groups.","description_kind":"plain","optional":true},"is_active":{"type":"bool","description":"Indicates whether the alert is active. Set to `true` to activate the alert, or `false` to deactivate it.","description_kind":"plain","required":true},"project":{"type":"string","description":"The project to which the alert belongs to.","description_kind":"plain","required":true},"type":{"type":"string","description":"The type of alert mechanism to use. Can be either `email` for email alerts or `http` for sending HTTP requests.","description_kind":"plain","required":true}},"block_types":{"http":{"nesting_mode":"list","block":{"attributes":{"body":{"type":"string","description":"The payload to include in the HTTP request body when the alert is triggered.","description_kind":"plain","required":true},"headers":{"type":["map","string"],"description":"Optional HTTP headers to include in the request. Each header should be specified as a key-value pair.","description_kind":"plain","optional":true},"method":{"type":"string","description":"The HTTP method to use for the alert. Supported values are `POST`, `GET`, and `PUT`.","description_kind":"plain","required":true},"url":{"type":"string","description":"The target URL to send the HTTP request to when the alert is triggered.","description_kind":"plain","required":true}},"description":"The configuration block for HTTP-based alerts. This is used when the `type` is set to `http`.","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":"A status block representing the internal status of the alert. This is primarily for internal use and not utilized directly.","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":"The pairing key used for appliance pairing.","description_kind":"plain","optional":true},"tags":{"type":["map","string"],"description":"A set of key-value pairs that can be used to organize and categorize the appliance.","description_kind":"plain","optional":true},"uid":{"type":"string","description":"The unique identifier (UID) for the appliance.","description_kind":"plain","required":true},"wait":{"type":"bool","description":"If set to `true`, the resource creation will wait for the appliance provisioning process to complete before returning. Defaults to `false`.","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":"The unique identifier (UID) of the application profile to use for this application.","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"The name of the application being created.","description_kind":"plain","required":true},"tags":{"type":["set","string"],"description":"A set of tags to associate with the application for easier identification and categorization.","description_kind":"plain","optional":true}},"block_types":{"config":{"nesting_mode":"list","block":{"attributes":{"cluster_context":{"type":"string","description":"The context for the cluster, Either `tenant` or `project` can be provided.","description_kind":"plain","required":true},"cluster_group_uid":{"type":"string","description":"The unique identifier (UID) of the cluster group. Either `cluster_uid` or `cluster_group_uid` can be provided.","description_kind":"plain","optional":true},"cluster_name":{"type":"string","description":"An optional name for the target cluster.","description_kind":"plain","optional":true},"cluster_uid":{"type":"string","description":"The unique identifier (UID) of the target cluster. Either `cluster_uid` or `cluster_group_uid` can be provided.","description_kind":"plain","optional":true}},"block_types":{"limits":{"nesting_mode":"list","block":{"attributes":{"cpu":{"type":"number","description":"The CPU allocation for the application, specified in integer values.","description_kind":"plain","optional":true},"memory":{"type":"number","description":"The memory allocation for the application, specified in megabytes.","description_kind":"plain","optional":true},"storage":{"type":"number","description":"The storage allocation for the application, specified in gigabytes.","description_kind":"plain","optional":true}},"description":"Optional resource limits for the application, including CPU, memory, and storage constraints.","description_kind":"plain"}}},"description":"The configuration block for specifying cluster and resource limits for the application.","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":"The name of the storage bucket where backups are stored. This is relevant for S3 or S3-compatible storage services.","description_kind":"plain","required":true},"ca_cert":{"type":"string","description":"An optional CA certificate used for SSL connections to ensure secure communication with the storage provider.","description_kind":"plain","optional":true},"context":{"type":"string","description":"The context of the backup storage location. 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},"is_default":{"type":"bool","description":"Specifies if this backup storage location should be used as the default location for storing backups.","description_kind":"plain","required":true},"name":{"type":"string","description":"The name of the backup storage location. This is a unique identifier for the backup location.","description_kind":"plain","required":true},"region":{"type":"string","description":"The region where the backup storage is located, typically corresponding to the region of the cloud provider.","description_kind":"plain","required":true}},"block_types":{"s3":{"nesting_mode":"list","block":{"attributes":{"access_key":{"type":"string","description":"The access key for S3 authentication, required if 'credential_type' is set to 'secret'.","description_kind":"plain","optional":true},"arn":{"type":"string","description":"The Amazon Resource Name (ARN) of the IAM role to assume for accessing S3 when using 'sts' credentials.","description_kind":"plain","optional":true},"credential_type":{"type":"string","description":"The type of credentials used to access the S3 storage. Supported values are 'secret' for static credentials and 'sts' for temporary, token-based credentials.","description_kind":"plain","required":true},"external_id":{"type":"string","description":"An external ID used for cross-account access to the S3 storage when using 'sts' credentials.","description_kind":"plain","optional":true},"s3_force_path_style":{"type":"bool","description":"A boolean flag indicating whether to enforce the path-style URL for accessing S3.","description_kind":"plain","optional":true},"s3_url":{"type":"string","description":"The S3 URL endpoint.","description_kind":"plain","optional":true},"secret_key":{"type":"string","description":"The secret key for S3 authentication, required if 'credential_type' is set to 'secret'.","description_kind":"plain","optional":true}},"description":"S3-specific settings for configuring the backup storage location.","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":"The Amazon Resource Name (ARN) associated with the AWS resource. This is used for identifying resources in AWS.","description_kind":"plain","optional":true},"aws_access_key":{"type":"string","description":"The AWS access key used to authenticate.","description_kind":"plain","optional":true},"aws_secret_key":{"type":"string","description":"The AWS secret key used in conjunction with the access key for authentication.","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":"An optional external ID that can be used for cross-account access in AWS.","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":"The GCP credentials in JSON format. These credentials are required to authenticate and manage.","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 GCP account.","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":"The name of the Tencent account to be managed.","description_kind":"plain","required":true},"tencent_secret_id":{"type":"string","description":"The secret ID associated with the Tencent account for authentication.","description_kind":"plain","optional":true},"tencent_secret_key":{"type":"string","description":"The secret key associated with the Tencent account for authentication.","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. (Note: Starting with Palette version 4.6, the `include_cluster_resources` attribute will be changed to a string type, supporting the values `always`, `never`, and `auto`.)","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. (Note: Starting with Palette version 4.6, the `include_cluster_resources` attribute will be changed to a string type, supporting the values `always`, `never`, and `auto`.)","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. (Note: Starting with Palette version 4.6, the `include_cluster_resources` attribute will be changed to a string type, supporting the values `always`, `never`, and `auto`.)","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. (Note: Starting with Palette version 4.6, the `include_cluster_resources` attribute will be changed to a string type, supporting the values `always`, `never`, and `auto`.)","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. (Note: Starting with Palette version 4.6, the `include_cluster_resources` attribute will be changed to a string type, supporting the values `always`, `never`, and `auto`.)","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. (Note: Starting with Palette version 4.6, the `include_cluster_resources` attribute will be changed to a string type, supporting the values `always`, `never`, and `auto`.)","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. (Note: Starting with Palette version 4.6, the `include_cluster_resources` attribute will be changed to a string type, supporting the values `always`, `never`, and `auto`.)","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. (Note: Starting with Palette version 4.6, the `include_cluster_resources` attribute will be changed to a string type, supporting the values `always`, `never`, and `auto`.)","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. (Note: Starting with Palette version 4.6, the `include_cluster_resources` attribute will be changed to a string type, supporting the values `always`, `never`, and `auto`.)","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. (Note: Starting with Palette version 4.6, the `include_cluster_resources` attribute will be changed to a string type, supporting the values `always`, `never`, and `auto`.)","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. (Note: Starting with Palette version 4.6, the `include_cluster_resources` attribute will be changed to a string type, supporting the values `always`, `never`, and `auto`.)","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. (Note: Starting with Palette version 4.6, the `include_cluster_resources` attribute will be changed to a string type, supporting the values `always`, `never`, and `auto`.)","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. (Note: Starting with Palette version 4.6, the `include_cluster_resources` attribute will be changed to a string type, supporting the values `always`, `never`, and `auto`.)","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":"The network gateway IP address for the IP pool. Typically, this is the default network gateway for the subnet.","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_end_range":{"type":"string","description":"The end IP address of the IP pool. Required if `network_type` is `range`.","description_kind":"plain","optional":true},"ip_start_range":{"type":"string","description":"The start IP address of the IP pool. Required if `network_type` is `range`.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the IP pool.","description_kind":"plain","required":true},"nameserver_addresses":{"type":["set","string"],"description":"The list of nameserver IP addresses for the IP pool.","description_kind":"plain","optional":true},"nameserver_search_suffix":{"type":["set","string"],"description":"The list of nameserver search suffixes for the IP pool. For example, `example.org`.","description_kind":"plain","optional":true},"network_type":{"type":"string","description":"The type of network for the IP pool. Allowed values are: `range` and `subnet`.","description_kind":"plain","required":true},"prefix":{"type":"number","description":"The prefix of the IP pool provided network range or subnet. For example `24` for a `/24` subnet or a range that falls inside a `24` subnet.","description_kind":"plain","required":true},"private_cloud_gateway_id":{"type":"string","description":"The ID of the Private Cloud Gateway.","description_kind":"plain","required":true},"restrict_to_single_cluster":{"type":"bool","description":"Restrict the IP pool to a single cluster. If set to `true`, the IP pool is restricted to a single cluster. We recommend setting this to `true` for production environments and creating separate IP pools for each cluster.","description_kind":"plain","optional":true},"subnet_cidr":{"type":"string","description":"The subnet CIDR of the IP pool. Required if `network_type` is `subnet`.","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 to manage IP pools for Private Cloud Gateway.","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":"The URL endpoint of the Helm registry where the charts are hosted.","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"is_private":{"type":"bool","description":"Specifies whether the Helm registry is private or public.","description_kind":"plain","required":true},"name":{"type":"string","description":"The name of the Helm registry. This must be unique","description_kind":"plain","required":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"credential_type":{"type":"string","description":"The type of authentication used for the Helm registry. Supported values are 'noAuth' for no authentication, 'basic' for username/password, and 'token' for token-based authentication.","description_kind":"plain","required":true},"password":{"type":"string","description":"The password for basic authentication. Required if 'credential_type' is set to 'basic'.","description_kind":"plain","optional":true},"token":{"type":"string","description":"The authentication token. Required if 'credential_type' is set to 'token'.","description_kind":"plain","optional":true},"username":{"type":"string","description":"The username for basic authentication. Required if 'credential_type' is set to 'basic'.","description_kind":"plain","optional":true}},"description":"Authentication credentials for accessing the Helm registry.","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":"The URL endpoint of the OCI registry. This is where the container images are hosted and accessed.","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"is_private":{"type":"bool","description":"Specifies whether the registry is private or public. Private registries require authentication to access.","description_kind":"plain","required":true},"name":{"type":"string","description":"The name of the OCI registry.","description_kind":"plain","required":true},"provider_type":{"type":"string","description":"The type of provider used for interacting with the registry. The default is 'helm'.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the registry. Possible values are 'ecr' (Amazon Elastic Container Registry) or 'basic' (for other types of OCI registries).","description_kind":"plain","required":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"access_key":{"type":"string","description":"The access key for accessing the registry. Required if 'credential_type' is set to 'secret'.","description_kind":"plain","optional":true},"arn":{"type":"string","description":"The Amazon Resource Name (ARN) used for AWS-based authentication. Required if 'credential_type' is 'sts'.","description_kind":"plain","optional":true},"credential_type":{"type":"string","description":"The type of authentication used for accessing the registry. Supported values are 'secret', 'sts', 'basic', and 'noAuth'.","description_kind":"plain","required":true},"external_id":{"type":"string","description":"The external ID used for AWS STS (Security Token Service) authentication. Required if 'credential_type' is 'sts'.","description_kind":"plain","optional":true},"password":{"type":"string","description":"The password for basic authentication. Required if 'credential_type' is 'basic'.","description_kind":"plain","optional":true,"sensitive":true},"secret_key":{"type":"string","description":"The secret key for accessing the registry. Required if 'credential_type' is set to 'secret'.","description_kind":"plain","optional":true,"sensitive":true},"username":{"type":"string","description":"The username for basic authentication. Required if 'credential_type' is 'basic'.","description_kind":"plain","optional":true}},"description":"Authentication credentials to access the private OCI registry. Required if `is_private` is set to `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. (Note: Starting with Palette version 4.6, the `include_cluster_resources` attribute will be changed to a string type, supporting the values `always`, `never`, and `auto`.)","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. (Note: Starting with Palette version 4.6, the `include_cluster_resources` attribute will be changed to a string type, supporting the values `always`, `never`, and `auto`.)","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":"The unique ID of the backup storage location. This is an optional field, but if provided, it will be used to retrieve the specific backup storage location.","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"The name of the backup storage location. This is an optional field, but if provided, it will be used to retrieve the specific backup storage location.","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 custom cloud provider name (e.g., `nutanix`).","description_kind":"plain","required":true},"id":{"type":"string","description":"The unique identifier of the cloud account. Either `id` or `name` must be provided.","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"The name of the cloud account. Either `id` or `name` must be provided.","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":"The unique ID of the cloud account. Either `id` or `name` must be provided, but not both.","description_kind":"plain","optional":true,"computed":true},"maas_api_endpoint":{"type":"string","description":"The API endpoint of the MaaS account. This value is computed based on the cloud account's configuration and is used for interaction with the MaaS service.","description_kind":"plain","computed":true},"maas_api_key":{"type":"string","description":"The API key associated with the MaaS account. This is used to authenticate API requests to the MaaS service and is computed from the cloud account's credentials.","description_kind":"plain","computed":true},"name":{"type":"string","description":"The name of the cloud account. This can be used instead of `id` to retrieve the account details. Only one of `id` or `name` can be specified.","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"spectrocloud_cloudaccount_openstack":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The unique ID of the OpenStack cloud account. Either `id` or `name` must be provided, but not both.","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"The name of the OpenStack cloud account. Either `id` or `name` must be provided, but not both.","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"spectrocloud_cloudaccount_tencent":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The unique ID of the Tencent cloud account. Either `id` or `name` must be provided, but not both.","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"The name of the Tencent cloud account. Either `id` or `name` must be provided, but not both.","description_kind":"plain","optional":true,"computed":true},"tencent_secret_id":{"type":"string","description":"The Tencent Secret ID used for authentication. This value is automatically retrieved and should not be provided manually.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"spectrocloud_cloudaccount_vsphere":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The unique ID of the vSphere cloud account. Either `id` or `name` must be provided, but not both.","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"The name of the vSphere cloud account. Either `id` or `name` must be provided, but not both.","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"spectrocloud_cluster":{"version":0,"block":{"attributes":{"admin_kube_config":{"type":"string","description":"The admin kubeconfig file for accessing the cluster. This is computed automatically.","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":"The kubeconfig file for accessing the cluster as a non-admin user. This is computed automatically.","description_kind":"plain","computed":true},"name":{"type":"string","description":"The name of the cluster.","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":"The unique ID of the cluster profile. Either `id` or `name` must be provided, but not both.","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"The name of the cluster profile. Either `id` or `name` must be provided, but not both.","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":"The version of the cluster profile.","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 unique identifier (UID) of the registry where the pack is located. Specify `registry_uid` to search within a specific registry.","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 (UID) of the registry where the pack is located. Specify `registry_uid` to search within a specific registry.","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":"A data resource to get the ID or name of Private Cloud Gateway.","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":"The unique identifier of the OCI registry.","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"The name of the OCI registry.","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":"The email address of the user. If provided, `id` cannot be used.","description_kind":"plain","optional":true},"id":{"type":"string","description":"The unique ID of the user. If provided, `email` cannot be used.","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/examples-generated/backup/v1alpha1/storagelocation.yaml b/examples-generated/backup/v1alpha1/storagelocation.yaml index a0f6cc9..f8b637b 100644 --- a/examples-generated/backup/v1alpha1/storagelocation.yaml +++ b/examples-generated/backup/v1alpha1/storagelocation.yaml @@ -9,6 +9,7 @@ metadata: spec: forProvider: bucketName: dev-backup + context: tenant isDefault: false region: us-east-2 s3: diff --git a/package/crds/backup.palette.crossplane.io_storagelocations.yaml b/package/crds/backup.palette.crossplane.io_storagelocations.yaml index ddb7cbb..3bbc3c1 100644 --- a/package/crds/backup.palette.crossplane.io_storagelocations.yaml +++ b/package/crds/backup.palette.crossplane.io_storagelocations.yaml @@ -82,6 +82,11 @@ spec: (String) An optional CA certificate used for SSL connections to ensure secure communication with the storage provider. An optional CA certificate used for SSL connections to ensure secure communication with the storage provider. type: string + context: + description: |- + (String) The context of the backup storage location. 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. + The context of the backup storage location. 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.io/providers/spectrocloud/spectrocloud/latest/docs#schema). + type: string isDefault: description: |- (Boolean) Specifies if this backup storage location should be used as the default location for storing backups. @@ -159,6 +164,11 @@ spec: (String) An optional CA certificate used for SSL connections to ensure secure communication with the storage provider. An optional CA certificate used for SSL connections to ensure secure communication with the storage provider. type: string + context: + description: |- + (String) The context of the backup storage location. 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. + The context of the backup storage location. 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.io/providers/spectrocloud/spectrocloud/latest/docs#schema). + type: string isDefault: description: |- (Boolean) Specifies if this backup storage location should be used as the default location for storing backups. @@ -412,6 +422,11 @@ spec: (String) An optional CA certificate used for SSL connections to ensure secure communication with the storage provider. An optional CA certificate used for SSL connections to ensure secure communication with the storage provider. type: string + context: + description: |- + (String) The context of the backup storage location. 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. + The context of the backup storage location. 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.io/providers/spectrocloud/spectrocloud/latest/docs#schema). + type: string id: description: (String) The ID of this resource. type: string